这是我的ajax代码,
例如网址1:www.text1.com和网址2:www.text2.com/check.asp
这里我将数据从text1.com发布到text2.com ....
有可能吗?
<script type="text/javascript">
function ajaxFunctionSearch() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
}
catch(e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
document.getElementById("SXML").value = xmlHttp.responseText;
}
}
var params = "CountryID=" + document.getElementById("DEMOCNY").value
xmlHttp.open("POST", "http://text2.com/Check.asp", true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}
</script>
答案 0 :(得分:1)
不是因为same origin policy,简而言之,javascript只能与同一域上的服务器通话才能获得它所拥有的页面。
您必须制作一些服务器脚本,以便发布到www.test2.com
的帖子。
您可以查看如何在C#中构建proxy,基本上您必须使用HttpWebRequest
将ajax调用转发给www.test2.com
。
此外,如果两个服务器都在机柜中,您可能最好直接进行数据库插入或任何类型的处理,如果您可以。
答案 1 :(得分:0)
否 - JavaScript的安全限制是它无法与提供该页面的域进行通信。
如果您的网页是从www.text1.com提供的,那么您只能通过www.text1.com域向其他网页发出请求。
答案 2 :(得分:0)
Google CORS或查看此处:hacks.mozilla.org。 IE8还包含XDomainRequest object,但我从未使用过它。
但它们仍然是非常阿尔法而不是任何人所谓的跨浏览器技术。