【问题标题】:How to use JSONP random callbacks with jQuery?如何在 jQuery 中使用 JSONP 随机回调?
【发布时间】:2013-01-31 08:56:29
【问题描述】:

我正在努力使用 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:未定义回调。

好的,我应该使用哪个函数名,因为它应该是自动生成的?

【问题讨论】:

    标签: jquery ajax callback jsonp


    【解决方案1】:

    php 不应定义callback,访问使用$_GET['callback'] 发送的值

    【讨论】:

    • 谢谢;我只是用 $_GET['callback'] 替换了 php 文件中的“callback”。这更有意义。
    【解决方案2】:

    您应该使用查询参数 ?callback=function_name 作为服务器上的函数名称。 jQuery 生成一个随机回调名称并自动将其映射到您的 .done 函数。

    【讨论】:

      猜你喜欢
      • 2013-04-29
      • 2012-06-05
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 2011-08-27
      • 2015-09-20
      相关资源
      最近更新 更多