为啥我的 $.getJSON 工作但不执行 onsuccess 部分?
Posted
技术标签:
【中文标题】为啥我的 $.getJSON 工作但不执行 onsuccess 部分?【英文标题】:Why does my $.getJSON work but not execute the onsuccess part?为什么我的 $.getJSON 工作但不执行 onsuccess 部分? 【发布时间】:2012-03-01 14:18:09 【问题描述】:我有这个 javascript:
var signUp =
share: function(response)
alert('hello');
$.getJSON("http://pgthatworks.com/?callback=?", email:signUp.email, api:signUp.api, ref:signUp.ref, function(response)
signUp.share(response);
);
$.getJSON()
一直工作到它将数据发送到指定页面并且该页面正在执行它的工作,但 function(response)
部分不执行。知道为什么吗?
【问题讨论】:
尝试在 chrome 中查看网络选项卡,并检查您是否真的得到响应或错误 @vittore 我只是看到一个 GET 请求 您是否尝试记录服务器返回的数据?也许你错过了什么地方 使用完整的ajax
请求,让我们知道您在回调时收到的错误 - jsfiddle.net/cRgxZ
@JibiAbraham 是的 - 这是一个 JSON 返回的示例 ["http:\/\/pgthatworks.com\/?ref=rbpxM",1]
- 这应该有问题吗?
【参考方案1】:
在我看来,您正在执行跨域请求。我这样说是因为您在 getJSON 请求中指定了完整的 URL 以及查询字符串中的回调参数。如果是这种情况,那么您的 php 需要发回正确的 JSONP。那就是:
print $callbackString.'('.json_encode($your_array).')';
【讨论】:
我正在做 JSONP,所以这完全有道理,但$callbackString
会是什么?我试过http://pgthatworks.com/?callback=?
,但仍然返回parsererror
$callbackString 是 jQuery 设置的查询参数的值。例如。 $callbackString = $_REQUEST['callback']
啊...漂亮!非常感谢!以上是关于为啥我的 $.getJSON 工作但不执行 onsuccess 部分?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery中的getJSON方法的url参数中,为啥加上callback=
为啥我的 discord.py 机器人不响应 on_message 事件?
为啥我在 AWS API 上收到“无权执行:ecs:ListTasks on resource:*”异常