当前位置: 首页 > 面试题库 >

jQuery get的JSON响应引发“无效标签”

鲁杜吟
2023-03-14
问题内容
       $.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行

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


问题答案:

您的响应是有效的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,但是无效的语法/标签错误是相同的。



 类似资料:
  • 从数据库中获取数据并通过DataTables显示时遇到问题。我发现我的大部分数据都有单引号和双引号以及其他特殊字符。我尝试了PHP中的所有转义函数,但都不起作用。addslashes只检索40,000个数据中的59个数据。到目前为止,我有了以下代码: PHP:

  • 在此处输入图像说明public class GemfireTest extends SecurityManager{ C:\users\xxx\ideaprojects\gemfire on Desktop-MRCV2EH[40404]中的服务器,因为server1当前联机。进程ID:2640正常运行时间:7秒Geode版本:9.5.1 Java版本:1.8.0_171日志文件:C:\users\

  • 服务 X 托管 REST API,位于服务 Y 后面。 客户- 对于无效的 JSON,服务 Y 会使用 HTML 错误(如下所示)进行响应。服务 X 无法控制 Y。 对于所有其他类型的错误,X会使用适当的HTTP响应代码和错误JSON(以下格式)进行响应。 < li >我正在尝试检查是否存在任何关于REST API错误响应标准的RFC? < li >如果服务返回错误响应并详细说明JSON无效,是否

  • 我为我们的一个客户开发了一个定制的SAML IdP。但是,当试图将以下响应传递给SP时,它失败了。我尝试使用一些在线SAML在线工具来验证响应,我看到了一些错误,但我不知道哪里出了问题。有人能帮忙吗? 在samltool.com上使用验证器,我得到以下错误: XML无效。 行:69列:0-->元素‘{http://www.w3.org/2000/09/xmldsig#}signature':不需要

  • 问题内容: 我正在使用向服务器发出请求,并且服务器正在返回JSON对象(如{ “var”: “value”, … })。但是,如果任何一个值都包含一个单引号(正确转义为'),则jQuery无法解析其他有效的JSON字符串。这是我的意思的示例(在Chrome的控制台中完成): 这正常吗?没有办法通过JSON正确传递单引号吗? 问题答案: 根据JSON网站上的状态机图,仅允许转义的双引号字符,不允许单

  • 问题内容: 是否存在用于构造来自API的JSON响应的标准或最佳实践?显然,每个应用程序的数据都是不同的,因此您不必担心很多,而是“响应样板”。我的意思的例子: 成功的请求: 请求失败: 问题答案: 是的,已经出现了一些标准(尽管对标准的定义有一些自由): JSON API -JSON API还涵盖创建和更新资源,而不仅仅是响应。 JSend-简单,可能已经在做。 OData JSON协议 -非常