javascript - 跨站点 xmlhttp 请求返回状态 0

标签 javascript ajax firefox xmlhttprequest cross-site

我有一个页面,它从另一个站点调用 XMLHttpRequest 到页面。问题是,返回的状态是0。 调用页面代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Generator" content="Dev-PHP 2.6.0" />
<meta name="Keywords" content="your,keywords,here" />
<meta name="Description" content="." />

</head>
<body>
<p>
  <input type="text" name="txtReturn" id="txtReturn" size=75 />
</p>

<textarea name="taStatus" id="taStatus" cols="75" rows="25"></textarea>

<p>&nbsp; </p>
<script type="text/javascript">
function getReturn()
{
    var txtBox = document.getElementById("txtReturn");
    var taStatus = document.getElementById("taStatus");

    txtBox.value = "Preparing to get Response";

    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        // alert('IE7+, Firefox, Chrome, Opera, Safari');
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        // alert('IE6, IE5');
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {   
        taStatus.innerHTML = taStatus.innerHTML + "URL: " + url + ".\nReadyStatus: " + xmlhttp.readyState + ".\nStatus: " + xmlhttp.status + ".\nStatusText: " + xmlhttp.statusText + ".\nresponseText: " + xmlhttp.responseText + ".\n\n";

        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
                // alert(xmlhttp.responseText);
            txtBox.value = xmlhttp.responseText;
                // alert(xmlhttp.responseText);
        }

    }

    var url = 'http://www.ip.com.om/site/checkdata.php';
    var url2 = 'http://badihbarakat.com/site/checkdata.php';
    var url3 = '../site/checkdata.php';

    xmlhttp.withCredentials = true;
    // url = url + ((/\?/).test(url) ? "&" : "?") + (new Date()).getTime();
    xmlhttp.open("GET", url, true);
    xmlhttp.send();

}

    getReturn();
</script>
</body>
</html>

在其他站点上调用的 .php 页面,只需回显带有日期和时间的字符串。

谁能告诉我可能是什么问题吗?我正在使用 FireFox 27,我检查了错误浏览器,它显示:

**GET http://www.ip.com.om/site/checkdata.php [HTTP/1.1 200 OK 710ms]**

当您单击它时,会显示请求的详细信息:

Request URL:    http://www.ip.com.om/site/checkdata.php
Request Method:     GET
Status Code:    HTTP/1.1 200 OK

**Request Headers 17:27:37.000**
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Referer:    http://badihbarakat.com/local/
Origin: http://badihbarakat.com
Host:   www.ip.com.om
Connection: keep-alive
Accept-Language:    en-US,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

**Response Headers Δ710ms**
X-Powered-By:   PHP/5.3.26
X-CFLO-Cache-Result:    TCP_REFRESH_MISS
Server: Apache
Date:   Sat, 01 Mar 2014 13:27:42 GMT
Content-Type:   text/html
Content-Length: 37
Connection: Keep-Alive
Age:    0

等待您的宝贵回复...

巴迪巴拉卡特

最佳答案

由于安全问题,您无法向不同域中的服务器发出 xmlhttp 请求。 您可以从服务器端代码使用该服务,然后可以通过您自己的服务将其代理到页面。 检查以下帖子。 Still confused about using XMLHTTPRequest cross domain

关于javascript - 跨站点 xmlhttp 请求返回状态 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115028/

相关文章:

javascript - HTMLScriptElement 与 '&lt;script&gt;' 标签

javascript - 变量赋值后跟其他变量名称

java - 解决方法 Firefox 更新插件

Javascript Countdown 在 IE 和 Firefox 中显示 NaN,在 Chrome 中有效

asp.net - 尝试上传 14mb 的文件时,fileupload 控件不执行任何操作

javascript - Innerhtml 创建文本区域字段

javascript - 阻止嵌入式 SVG 在 Chrome 上捕获鼠标事件

javascript - 如何将 <li> 附加为 <ul> 中的第一个列表项

javascript - 将父作用域中的变量传递给回调函数

javascript - jquery ajax超时最佳实践值