gpt4 book ai didi

javascript - 以空 for(;;); 开头的 JSON 的目的是什么?在制作 XHR 或接收推送通知时使用 Javascript?

转载 作者:行者123 更新时间:2023-11-30 17:09:13 25 4
gpt4 key购买 nike

请问在做XHR或者服务器向浏览器推送通知的时候,这样的响应有什么用:

for(;;);[{"syncId": 2, "changes" : [["change",{"pid":"7"},["10",{"id":"7"}]]], "state":{"5":{"childData":{"7":{"alignmentBitmask":48,"expandRatio":0}}},"7":{"caption":"This is the real UI","text":""}}, "types":{"5":"1","7":"10"}, "hierarchy":{"5":["7"],"7":[]}, "rpc" : [], "meta" : {"async":true}, "resources" : {}, "typeMappings" : { "com.vaadin.ui.AbstractField" : 11 , "com.vaadin.ui.AbstractTextField" : 12 , "com.vaadin.ui.TextArea" : 10 }, "typeInheritanceMap" : { "11" : 6 , "12" : 11 , "4" : 9 , "6" : 5 , "10" : 12 , "8" : 4 , "9" : 6 , "1" : 8 }, "timings":[185, 6]}]

我的意思是,我知道它是一个 JSON(或者至少应该是),但是响应开头的 for(;;); 呢?它有什么用?

最佳答案

我之前没有看到前面的 for(;;); 构造 - 它是 JavaScript,绝对不是有效的 JSON。

您正在查看的内容可能是一个让试图阅读来自不同域的响应的人感到困惑的把戏。浏览器中的跨源限制意味着你不能随便从随机域加载资源。但是,您可以做的是从另一个域加载一些 JavaScript:例如,这就是 Google Analytics 所做的。

也许您从中获得响应的任何服务都试图通过在响应前放置一个无限循环来阻止爱管闲事的人执行此类请求,从而削弱任何试图将其作为脚本请求然后运行的人的浏览器逐字回复。

然而,这都是猜测;它可能完全是另外一回事。

编辑:如果您收到响应的服务是 Facebook,this answer给出了一个更合理的解释:显然 Facebook 添加它是为了强制其开发人员使用受信任的 JSON 解析器。

关于javascript - 以空 for(;;); 开头的 JSON 的目的是什么?在制作 XHR 或接收推送通知时使用 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com