在同一主机上对PHP文件使用XMLHTTP请求的Javascript违反了同源策略
Javascript Which Uses XMLHTTP Request To PHP File On Same Host Violates Same-Origin Policy?
可能重复:
请解释JSONP
在第';www.foo.com';,可以从';www.example.com';将ajax请求发送到';www.example.com';?
我需要从javascript向php文件发出请求
php文件然后从数据库中提取数据,然后将信息发送回javascript
我认为最好的方法是制作一个javascript,它使用XMLHTTP向PHP脚本询问信息。Javascript文件和PHP文件都在同一台主机上。
问题是我在另一个域上调用javascript。这意味着由于同源策略,我无法将XMLHTTP.open设置到其他域。
即使从技术上讲javascript和php文件都在同一台主机上,我是不是运气不好?最好的办法是什么?我看到一些关于使用JSON的文章。
另一个问题是我不能使用jQuery。我知道如果我可以使用jQuery,事情会更容易,但我做不到。
这与我试图做的事情非常接近,但我的请求必须是跨域的:
http://www.w3schools.com/php/php_ajax_database.asp
有什么想法吗?我对其他解决方案持开放态度。谢谢
我认为你的调查重点应该是"领域混乱":
- 对于客户端,这两个域是否在同一主机上并不重要:只有域才算数
- 对于服务器端,这当然是不同的
您可能正在尝试在同一服务器上的两个应用程序之间创建某种互操作——这可以通过一些自代理或简单地创建一个互操作域并从中加载相关部分来实现。
- 自代理:使用重写规则或代理设置http://domain2.tld/ajax.php映射到的内容http://domain1.tld/ajax-domain2.php
- 互操作域:具有http://domain3.tld/domain1/映射到http://domain1.tld和http://domain3.tld/domain2映射到http://domain2.tld并从domain3.tld加载所有内容
我建议您使用JSONP(http://en.wikipedia.org/wiki/JSONP)如果HTTP GET就足够了。(您不需要向服务器发送二进制文件)。
这是一个非常简单的想法。首先创建一个回调来处理来自服务器的数据。
var callback = function(data) { alert('My name is ' + data.user) };
然后在DOM中添加脚本元素:
<script src='http://external-domain.com/api.php'></script>
它返回用回调函数包装的json结果
callback({ user : Aaren });
- 使用密码对话框Javascript请求帮助
- 如何使用JavaScript请求网页
- JavaScript请求/操作框架或工具包
- Microsoft认知服务JavaScript请求'访问控制允许来源'
- var someSome=(函数(){..}());一个奇怪的javascript请求
- 如何获得只响应的渲染javascript请求
- Rails控制器操作可以同时处理html和javascript请求吗
- 自动为 JavaScript 请求添加源映射标头
- Google Geocoder 在 url 和 javascript 请求之间有不同的结果
- 通过javascript请求和响应第三方域
- 使用 JavaScript 请求 HTML 页面(Angular 应用程序)
- 如何使用 javascript 请求库忽略无效的 SSL 证书
- 如何使用 PHP 或 JavaScript 请求超过 10000 次的 Steam API
- 定期的javascript请求停止发生
- 无论如何,要将这个JavaScript请求安全地发送到PHP-(这是不可能的)
- 跨域脚本javascript请求
- Web服务和Javascript请求位于同一本地主机端口上
- 来自android的实时javascript请求或来自Controller Cakephp.php的调用javascri
- 非常简单的javascript请求.抓斗元件ID
- Javascript:请求解释