我正在尝试使用.get()或.post()执行一个简单的jQuery AJAX尝试。
如果我的服务器上有一个本地副本,并且:
$.get('/hash.php',...,...)
我在firebug的控制台中监视get是否已完成,并得到响应。
我所做的更改只是将URI发送到外部服务器,但没有任何反应。
$.get('https://secure.mysite.com/subdir/hash.php',...,...)
如果我去掉“%s”或使用post,则没有帮助。我是否遗漏了一些应该在jQuery中使用的参数?
编辑:我忘记提到我这样做的原因,因为我最终要从PHP4站点迁移到PHP5站点,但是现在活动的PHP4站点需要一个PHP4之外的函数。所以我调用一个PHP5服务器来做这件事。我想我有一个很好的变通方法。谢谢!
发布于 2009-09-28 21:10:24
除了部署应用程序的域之外,不能将Ajax请求发送到其他域。这是因为在web浏览器中实现了Same Origin Policy,这是一种安全措施。
不过,有两种可能的解决方案:
mod_proxy_http
模块)<script>
标记--不受SOP约束。发布于 2009-09-28 21:20:51
确实,由于浏览器的原因,你通常不能在你的域之外使用Ajax。但是,使用JSONP可以做到这一点。jQuery现在也有一个用于Ajax的jsonp param。要实现这一点,您需要控制服务器的输出。
发布于 2009-09-28 21:10:02
Javascript无法访问javascript文件所在位置以外的服务器。
这是一个安全特性。
根据你想要获得的浏览器特性,你可能会绕过这个问题,但这会变得有点滑坡路。
https://stackoverflow.com/questions/1489373
复制相似问题