php - 跨子域ajax长轮询

标签 php javascript jquery ajax long-polling

我正在创建一个通知脚本,用于检查数据库的更改,然后在 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/

相关文章:

php - 如何设计大约 50 列的表并选择用户所需的列

javascript - 如何在 typescript 中与所有成员一起转换?

javascript - $(this) 在 if ($ (".element").is() 内不起作用

javascript - 避免在页面加载或就绪时执行 javascript 的最佳方法?

jquery - (function( $ ){...})( jQuery ); 是什么意思?做/意味着?

php - 通过 Zend_Registry::get() 类型提示 - 如何让 PhpStorm 可以理解导航到声明?

php - usort - 更多参数

javascript - 如何将 DropBox 选择器按钮更改为图像?

javascript - 将值附加到 javascript 数组

PHP 页面首先显示 else $errormessage 而不检查代码