我正在创建一个通知脚本,用于检查数据库的更改,然后在 JavaScript 自定义弹出窗口中返回。
我已经成功制作了jquery ajax加载和处理脚本,以及php长轮询页面。 除了长期请求阻止任何其他 ajax 加载内容工作这一事实之外,所有这些都非常有效。我发现阻止这种情况的方法是将其移至不同的子域。 然而,这会导致 js“同源策略”出现问题,所有可能的方法似乎都不适用于长连接速度,或者其他选项 php 代理无法在单独的域中实现全部目标。
有谁知道如何做到这一点,或者有任何帮助。
谢谢
奥利
最佳答案
您可以尝试的另一件事是填充 json。您可以在某个接受 GET 参数的 url 处创建一个动态脚本,例如 sub.domain.com/jsonp.php?var=value ,它返回如下内容:
var response={a:1,b:2}
您可以动态加载 <script/>
以该 url 作为源的元素。 jsonp 中设置的变量将可供其他脚本访问,并且不受 SOP 约束。
关于php - 跨子域ajax长轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981466/