【问题标题】:JSONP parse error with jquery ajax requestJSONP解析错误与jquery ajax请求
【发布时间】:2014-07-06 23:15:09
【问题描述】:

我有以下 jquery ajax 请求:

jQuery.ajax({
    url: serverAddress+'php/product.php',
    type: 'GET',
        jsonpCallback: "callback7",
        dataType: 'jsonp',
        data: sendInfo,
    success: function(result)
            {
                alert(result);
                //do something
            },
    error:function(jqXHR,msg,errorThrown){ alert(msg+" : "+errorThrown);}
  });

在服务器端,脚本是:

$callback = $_GET['callback'];
//do something
$result = //something
echo $callback.'('.json_encode($result).')';

我从 ajax 调用中得到以下错误:

parseerror : callback7 未被调用

我查了这个错误,但在 SO 或 google 中都找不到任何相关内容... 希望您能够帮助我。 谢谢!

编辑: 我最终通过将其转换为常规 json 请求来解决该问题。 不过,我很高兴知道问题和解决方案可能是什么。

【问题讨论】:

  • 在你的javascript中有一个名为callback7的方法。如果没有删除jsonpCallback属性并将url更改为serverAddress+'php/product.php?callback=?'然后
  • 所以我尝试像你说的那样更改参数,但它只是给了我同样的错误有点不同:“parsererror:jQuery was not called”。 “then”之后还有更多内容吗?

标签: javascript jquery ajax jsonp


【解决方案1】:

尝试将这些名称值对添加为 jsonp:false & crossDomain:true 在您的 js 文件中。并在您的服务器端删除行 $_Get['callback'] 并添加 echo $callback.'('.json_encode($result).')' 并设置 $callback= '回调7'

【讨论】:

  • 所以如果这不起作用而不是使用 ajax 调用使用这个.... $.getJson(url+"?callback=?",callback7);
猜你喜欢
  • 2011-07-11
  • 2020-04-23
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2014-06-23
  • 2012-07-11
  • 1970-01-01
相关资源
最近更新 更多