#jquery #ajax #call
#jquery #ajax #вызов
Вопрос:
В инструкции jQuery ajax я хочу получить полезную нагрузку с сервера и обработать ее в другой функции. У меня просто возникли проблемы с синтаксисом функции.
$.ajax({ url: 'mypgm.pgm', введите:'POST', Тип данных: 'json', данные: 'действие=добавить' 'amp;techno=' техно 'amp;activity=' активность, успех: ajax_callback (сообщение об ошибке), ошибка: функция (xhr, AjaxOptions, thrownError){ предупреждение (xhr.status); предупреждение (thrownError); } }); } функция ajax_callback (сообщение) { предупреждение (сообщение); }
Ответ
{"ответ": { "успех": "0", "сообщение": "Добавлено действие". } }
Комментарии:
1. Похоже, что
mypgm.php
отвечает, согласно вашему ответу здесь — в чем именно проблема?
Ответ №1:
Обработчик успешного обратного вызова для $.ajax()
может принимать следующие значения:
success(data, textStatus, jqXHR)
Источник: http://api.jquery.com/jQuery.ajax /
Итак, ваш обратный вызов функции был бы чем-то вроде этого:
function ajax_callback(data, textStatus, jqXHR)
{
alert(data.response)
}
Обратите внимание, как я создал именованную функцию таким образом, вместо того, чтобы присваивать ее переменной. Если вас интересуют только данные, вы можете просто отключить последние 2 параметра:
function ajax_callback(data)
{
alert(data.response)
}
Комментарии:
1. Похоже ли это на это? успех: успех (данные, текстовый статус, jqXHR),
2. Я не уверен, о чем вы спрашиваете. Формат обработчика обратного вызова для успешного выполнения точно такой, как вы вставили, и точно такой, как я изложил в своем коде. Пожалуйста, попробуйте и дайте мне знать, если у вас возникнут проблемы.
3. данные @bob — это просто параметр функции ajax_callback. Вы могли бы называть это как угодно в соответствии с правилами имен переменных javascript. Это может быть корова, собака, лимон, что угодно. Значение ему придает то, что код jQuery
$.ajax
после успешного завершения AJAX-кода передает данные, текстовый статус и объект ajax определенному вами обратному вызову.4. @bob В свою очередь, data присваивается data, textStatus присваивается статус text, а jqXHR присваивается значение объекта ajax.
5. Привет, onteria — спасибо за ваших пациентов. Я пересмотрел свой первоначальный пример выше. однако я все еще получаю «сообщение об ошибке не определено»
Ответ №2:
Попробуйте это:
$.ajax({
url: 'mypgm.php',
type: 'POST',
dataType: 'json',
data: 'action=add' 'amp;techno=' techno 'amp;activity=' activity,
success: function(data) {
alert(data)
}
});
Комментарии:
1. Спасибо. Я хотел бы отключить функцию успеха.
Ответ №3:
Обратный вызов должен быть определен перед вызовом ajax и изменить сигнатуру функции на:
var ajax_callback = function(data, textStatus, xhr) {
// parse the data.responseText to json
}
В качестве альтернативы вы могли бы просто использовать $.getJSON()
Комментарии:
1. не уверен, что мы придерживаемся json. .ajax кажется более гибким.