是否可以将数据从一个网址发布到另一个网址?

时间:2009-11-19 08:29:44

标签: javascript ajax

这是我的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>

3 个答案:

答案 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,但我从未使用过它。

但它们仍然是非常阿尔法而不是任何人所谓的跨浏览器技术。