我正在努力使用jQuery来处理Ajax / JSONP请求。
我正在使用两个不同的域名,我会进行几次类似的ajax调用。因此,我需要依赖jQuery自动生成的回调随机名称。如果我添加jsonpCallback
设置,此代码就可以使用,但同时调用会发生冲突(See here)。
在documentation之后,我最终得到了这段代码:
var request = $.ajax({
url: "http://www.myUrl.com/myScript.php?preventCache="+new Date(),
data: {GETvariableName:"value"},
contentType: "application/json",
dataType:'jsonp'})
.done(function(json) {
console.dir(json.mydata);
})
.fail(function(e) {
console.log(e.message);
});
PHP文件提供如下内容:
callback(
{
"mydata":
[
// my JSON content...
]
}
);
我收到此错误消息:
未捕获的ReferenceError:未定义回调。
很好,我应该使用哪个函数名,因为它应该是自动生成的?
答案 0 :(得分:1)
php不应该定义callback
,使用$_GET['callback']
发送的访问值
答案 1 :(得分:0)
您应该使用查询参数?callback = function_name作为服务器上的函数名称。 jQuery生成一个随机回调名称并自动将其映射到.done函数。