jquery ajax调用问题
Posted
技术标签:
【中文标题】jquery ajax调用问题【英文标题】:jquery ajax call question 【发布时间】:2011-08-28 11:25:35 【问题描述】:在 jQuery ajax 语句中,我想从服务器接收有效负载并在另一个函数中处理它。我只是在函数的语法上有问题。
$.ajax( 网址:'mypgm.pgm', 类型:'POST', 数据类型:'json', 数据:“动作=添加”+ '&techno=' + 技术 + '&activity=' + 活动, 成功:ajax_callback(msg), 错误:函数(xhr,ajaxOptions,抛出错误) 警报(xhr.status); 警报(抛出错误); ); 函数 ajax_callback(msg) 警报(味精);回应
“回复”: “成功”:“0”, "message": "Activity 已添加。"【问题讨论】:
看起来mypgm.php
正在响应,根据您在此处的响应 - 究竟是什么问题?
【参考方案1】:
$.ajax()
的成功回调处理程序可以采用以下值:
success(data, textStatus, jqXHR)
来源:http://api.jquery.com/jQuery.ajax/
所以你的函数回调应该是这样的:
function ajax_callback(data, textStatus, jqXHR)
alert(data.response)
请注意我是如何以这种方式创建命名函数的,而不是将其分配给 var。如果您只关心数据,则可以不使用最后两个参数:
function ajax_callback(data)
alert(data.response)
【讨论】:
看起来像这样吗?成功:成功(数据,textStatus,jqXHR), 我不确定你在问什么。成功的回调处理程序的格式就像您粘贴的那样,就像我在代码中列出的那样。请试一试,如果您有任何问题,请告诉我。 @bob data 只是函数 ajax_callback 的一个参数。你可以在 javascript 变量名的规则中调用任何你想要的名字。可以是牛、狗、柠檬,随便你。赋予它价值的是 JQuery$.ajax
代码在成功完成 AJAX 代码后,将数据、文本状态和 ajax 对象传递给您定义的回调。
@bob 依次为 data 分配数据,为 textStatus 分配文本状态,并为 jqXHR 分配 ajax 对象的值。
您好,感谢您的患者。我修改了上面的原始示例。但是我仍然收到“味精未定义错误”【参考方案2】:
试试这个:
$.ajax(
url: 'mypgm.php',
type: 'POST',
dataType: 'json',
data: 'action=add' + '&techno=' + techno + '&activity=' + activity,
success: function(data)
alert(data)
);
【讨论】:
谢谢。我想打破成功功能。【参考方案3】:你的回调应该在ajax调用之前定义并将函数的签名更改为:
var ajax_callback = function(data, textStatus, xhr)
// parse the data.responseText to json
您也可以只使用$.getJSON()
【讨论】:
不确定我们是否坚持使用 json。 .ajax 似乎更灵活。以上是关于jquery ajax调用问题的主要内容,如果未能解决你的问题,请参考以下文章