|
|
10.08.2012, 21:10
|
|
emerald-studio
Студия Эмеральд
Зарегистрирован: 2008-04-07
Сообщений: 12
|
Существует следующая задача - осуществить отправку данных формы через Ajax, а затем обработать ответ. Отправка данных происходит без проблем. Проблемы возникают при обработке результатов отправки.
Основной вопрос сейчас заключается в следующем: почему когда я указываю тип возвращаемых данных "json", функция auth_response даже не начинает выполняться? Стоит мне только поменять "json" на "html" - все прекрасно выполняется.
Пример
auth_response не выполняется
$.post("/netcat/add.php",$(this).serialize(),auth_response,"json");
auth_response выполняется (но мне нужен json)
$.post("/netcat/add.php",$(this).serialize(),auth_response,"html");
|
|
|
11.08.2012, 16:13
|
|
Asiat
Аниматика

Зарегистрирован: 2005-12-12
Сообщений: 576
|
Возможно, имеют значение возвращаемые с сервера заголовки Content-type, проверьте, при необходимости переназначьте.
|
|
|
13.08.2012, 11:48
|
|
emerald-studio
Студия Эмеральд
Зарегистрирован: 2008-04-07
Сообщений: 12
|
А можно по-подробнее? Или может быть дадите ссылочку на матчасть, если не сложно ?
|
|
|
13.08.2012, 15:14
|
|
Asiat
Аниматика

Зарегистрирован: 2005-12-12
Сообщений: 576
|
Ну, ссылочки конкретной под рукой не вспомню, а гуглить на тему
header Content-Type: text/html
и/или Content-Type: application/json
По умолчанию неткэт вернет вам text/html, но (если поможет) вы можете переназначить сами через PHP.
В большинстве случаев вообще скрипту по барабану, че там в этих заголовках, просто вы так конкретно написали но мне нужен json...
|
|
|
16.08.2012, 23:32
|
|
emerald-studio
Студия Эмеральд
Зарегистрирован: 2008-04-07
Сообщений: 12
|
Все-равно не получается.
Использовал следующий способ
Код:jQuery.ajax ({
url: myurl,
type: "POST",
data: mydata,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(){
//
}
});
Вот тут ветка обсуждения
Результатов нет . Может кто-нибудь знает как работать с /netcat/add.php с использованием AJAX ?
P.S. За основу я брал исходный код сайта netcat.ru .
|
|
|
17.08.2012, 15:46
|
|
Asiat
Аниматика

Зарегистрирован: 2005-12-12
Сообщений: 576
|
contentType в запросе вряд ли заставит сервер отправлять нужный header
Я нашел кусок конкретного кода, ниже приведу, но затык в том, что вы не даете никаких подробностей.
Непонятно, в чем вообще проблема, почему вам так нужен именно json, что за код возвращается в самом теле ответа...
header('Vary: Accept');
if (isset($_SERVER['HTTP_ACCEPT']) && (strpos($_SERVER['HTTP_ACCEPT'], 'application/json') !== false)) {
header('Content-type: application/json');
}
else {
header('Content-type: text/plain');
}
echo $json_text; //подразумевается, что в этой переменной само тело ответа
exit;
|
|
|
17.08.2012, 16:31
|
|
emerald-studio
Студия Эмеральд
Зарегистрирован: 2008-04-07
Сообщений: 12
|
Дело в том что надо получить ответ - добавилась запись или нет. После этого нужно обработчиком ответить на результат. Если запись добавилась - все ОК, если не добавилась - смотрим на ошибку и выдаем ответ (например некорректно заполнено поле или т.п.). Если брать тип данных html - возвращается полностью исходник страницы, который надо парсить. Хочется увидеть результаты безо всяких перепарсиваний страницы. Вот тут http://netcat.ru/nimages/js/netcat.min.8.js то что мне нужно, но на моем сайте это не работает. Тут точно также идет обращение к "/netcat/add.php", но тип данных указывается json и без проблем получается ответ.
|
|
|
18.08.2012, 07:15
|
|
Asiat
Аниматика

Зарегистрирован: 2005-12-12
Сообщений: 576
|
Что у вас возвращается в ответе сервера? само содержимое?
|