我想发布到一个外部的php文件并得到结果。它是我在我的服务器上托管的一个php。我想通过ajax在我的localhost发布静态页面,并在div中加载html。但我无法做到这一点。Jquery Post to external php
$.post("http://www.site.com/index.php", { font: "panchami", input: "hi" });
这里有什么不对吗?
我想发布到一个外部的php文件并得到结果。它是我在我的服务器上托管的一个php。我想通过ajax在我的localhost发布静态页面,并在div中加载html。但我无法做到这一点。Jquery Post to external php
$.post("http://www.site.com/index.php", { font: "panchami", input: "hi" });
这里有什么不对吗?
Javascript doesn't allow cross domain requests.
你可以做的是你的服务器reads the contents of the other site上的PHP文件:
<?php echo file_get_contents($_REQUEST['url']); ?>
然后做出请求你的文件,如下所示:
$.post("proxy.php?url=external_url", ...);
PHP代理方法是一个非常有吸引力的方法,但请注意,显示的代码可能被误用为通用代理,这是不好的。您需要构建一些安全措施,例如检查“REFERER”或可能的目标URL的有限列表 – 2010-10-21 13:52:59
Same Origin Policy阻止对外部域的Ajax调用。
流行的解决方法包括
iframe
代替Get
取决于你的用例是什么。
或者使用GET,例如:
这种请求是危险的,它被称为跨站点请求,并被大多数浏览器禁止。如果你看看你的错误控制台,你应该看到一个消息。
如果你真的没有其他选择,那么你可以考虑使用iframes,src属性可以在当前域之外,你可以使用javascript解析信息。
希望帮助:)
1)没有回调函数。 2)AJAX跨源(阅读:张贴到另一台服务器)仍然没有广泛支持 – Harmen 2010-10-21 13:49:11