程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery get的JSON响应引发“无效标签”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决jQuery get的JSON响应引发“无效标签”?

开发过程中遇到jQuery get的JSON响应引发“无效标签”的问题如何解决?下面主要结合日常开发的经验,给出你关于jQuery get的JSON响应引发“无效标签”的解决方法建议,希望对你解决jQuery get的JSON响应引发“无效标签”有所启发或帮助;

您的响应是有效的JsON,但这不是jquery想要的。当您&callback=?在URL中指定时,jquery期待的是JsONP响应(看起来有所不同),您的响应

Jsonp1279049933243({
  "records": [
    {
        "service_offering": "",
        "number": "INC0000009"
    },
    {
        "service_offering": "",
        "number": "INC0000010"
    }
  ]
});

当您指定时会发生什么,callback=?就是jquery为您的success函数生成一个名称,在这种情况下Jsonp1279049933243,JsONP的工作原理是仅<script>在页面中生成一个标记,因此,当获取该url时,它实际上只是包括一个JavaScript文件,运行一个函数,但代替这个:

<script type="text/JavaScript">
  Jsonp1279049933243({ "records": [....] });
</script>

现在有效发生的是:

<script type="text/JavaScript">
  { "records": [....] }
</script>

…这不是有效的JavaScript。现在,当然是通过加载的src=https://test.com/incIDent.do?JsON&callback=Jsonp1279049933243&sysparm_action=getRecords,但是无效的语法/标签错误是相同的。

解决方法

       $.ajax({
  beforeSend: function(xhr) {
 xhr.setRequestHeader('Authorization',"Basic YWRtaW46YWRtaW4=");        
},url: "https://test.com/incident.do?JSON&callback=?&sysparm_action=getRecords",dataType: "json",contentType: "application/json",method: 'GET',success: function(a,b,c) { 
    alert(a);
         }          
 });

我通过按下按钮来调用此函数… Firebug显示我得到了这个JSON响应(我知道这是有效的)[为清楚起见,被截断了]

{
    "records": [
        {
            "service_offering": "","number": "INC0000009"
        },{
            "service_offering": "","number": "INC0000010"
        }
]
}

Firebug显示错误“无效标签
https://test.com/incident.do?JSON&callback=jsonp1279049933243&sysparm_action=getRecords
第1行

我怎样才能解决这个问题?谢谢!

大佬总结

以上是大佬教程为你收集整理的jQuery get的JSON响应引发“无效标签”全部内容,希望文章能够帮你解决jQuery get的JSON响应引发“无效标签”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: