Ребят, подскажите. Есть форма, в этой форме 2 текстовых поля. Мне надо чтобы данные на скрипт передавались не $_POST а в json виде. Как сделать?
JSON - это не тип запроса. Это просто текстовый формат сериализации. Если нужно на сервер услать json, то просто формируем его на стороне клиента и посылаем на сервер как строку, обычным POST-ом.
Код (Javascript): function onSubmit( form ){ var data = JSON.stringify( $(form).serializeArray() ); // <----------- $.ajax({ url:'Ajax.php', type:'POST', data: data, contentType:'application/json; charset=utf-8', dataType:'json', async:false, success:function(msg){ alert(msg); } }); console.log( data ); return false; //don't submit }
дали тестовое задание, там такое обязательное условие. Как сделать что то туплю, ведь запрос в любом случае постом уходит
Типов запросов к серверу всего два. Гет и Пост. Даже отправка файлов инициируется через POST-запрос. JSON - это транспорт. Тебе надо сформировать JSON-строку, отправить ее на сервер и правильно обработать. Отправляй как тебе угодно на самом деле. Да, в жиквери-аяксе лучше не указывать datatype:json, может либо хреново работать, либо не работать вовсе. Хз почему. Отправляй как простой текст.