jquery ajax调用问题
在jQuery ajax语句中,我想从服务器接收一个有效载荷,并在另一个函数中处理它。 我只是遇到了函数的语法问题。
$.ajax({ url: 'mypgm.pgm', type:'POST', dataType: 'json', data: 'action=add' + '&techno=' + techno + '&activity=' + activity, success: ajax_callback(msg), error:function (xhr, ajaxOptions, thrownError){ alert(xhr.status); alert(thrownError); } }); } function ajax_callback(msg) { alert(msg); }
响应
{"response": { "success": "0", "message": "The Activity has been added." } }
$.ajax()
成功回调处理程序可以使用以下值:
success(data, textStatus, jqXHR)
来源:http://api.jquery.com/jQuery.ajax/
所以你的函数回调会是这样的:
function ajax_callback(data, textStatus, jqXHR)
{
alert(data.response)
}
请注意我是如何以这种方式创建一个命名函数的,而不是将它分配给一个var。 如果你只关心数据,你可以关闭最后2个参数:
function ajax_callback(data)
{
alert(data.response)
}
尝试这个:
$.ajax({
url: 'mypgm.php',
type: 'POST',
dataType: 'json',
data: 'action=add' + '&techno=' + techno + '&activity=' + activity,
success: function(data) {
alert(data)
}
});
您应该在ajax调用之前定义回调函数,并将函数的签名更改为:
var ajax_callback = function(data, textStatus, xhr) {
// parse the data.responseText to json
}
你也可以使用$.getJSON()
上一篇: jquery ajax call question
下一篇: RS together with ajax and javascript's blob object, doesn't work