【问题标题】:jQuery invalid label jsonpjQuery无效标签jsonp
【发布时间】:2013-01-12 19:59:41
【问题描述】:

我使用 jQuery 通过 ajax 函数获取 php-script 结果。问题是 php-script 在另一个域上,所以我应该使用“jsonp”作为返回的数据类型,但是 php-script 返回 json,而不是 jsonp(可能脚本不正确)并且我得到语法错误。我该如何处理?我想,我可以在 ajax-function 处理它并引发错误之前以某种方式获取 json 字符串,这可能吗?

这是我的 ajax 函数:

$.ajax(
    {
        type: "POST",
        dataType: "jsonp",
        url: "http://www.pecom.ru/bitrix/components/pecom/calc/ajax.php",
        data: res,
        error: function (xhr, ajaxOptions, thrownError) {
            alert("error: " + xhr.status);
        },
        success: function (data) {
            alert("Data Loaded: " + data)
        }
    }
)

谢谢!

【问题讨论】:

  • 你也可以发布你的 PHP 代码吗?
  • 这不是我的代码,我无法更改它。只有使用 firebug 我才能看到,它返回“{ param : something, ... }”,而不是“callback({ param : something , ... })"

标签: javascript jquery jsonp


【解决方案1】:

简短的回答是你不能。

较长的一个是您必须设置某种代理:从您控制的机器在服务器端发出请求,将结果转换为适当的 JSONP,然后通过 AJAX 连接到该服务器。 (或者,万一目标服务器支持CORS,您可以使用它来代替 JSONP。)

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多