响应 JSONP 请求时循环的无限空的目的是什么

What is the purpose of infinite empty for cycle in responses of JSONP requests?

本文关键字:无限 是什么 循环 JSONP 请求 响应      更新时间:2023-09-26

JSONP 请求的响应中添加"for (;;);"的目的是什么?例如,这样的响应:

对于 (;;);{a:...}(其中 {a:...} - 一个 JSON 字符串)

仅传递 {a:...}(如果有的话)有什么区别。

您可以在SO上找到答案。

我将总结一下:无限循环将 JSON 数据的访问限制在您自己的域中。您可以通过XMLHttpRequest在自己的站点上加载脚本,并在使用/执行数据/脚本之前删除循环。循环可防止跨域请求,因为这些请求必须使用<script>节点,因此将执行循环。

请注意,如果有人在服务器上加载 JSON 数据/脚本,这可以删除循环,然后将数据发送到客户端,则这不起作用。