我的网页上有以下javascript:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.google.com', true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
alert('resp received, status:' + xhr.status + ', responseText: ' + xhr.responseText);
}
};
xhr.send(null);
Run Code Online (Sandbox Code Playgroud)
这执行并完成w/readyState为4,状态为0,以及empty responseText和responseXML.我知道它实际上正在发送请求b/ci尝试将xhr发送到我的机器上的服务器,而服务器实际上确实做出了响应.为什么我在responseText中没有得到任何东西?它是否有事情需要xhr进入不同服务器的事实?
当我打开js调试器并输入'xhr'来检查对象时我得到了这个:
XMLHttpRequest
DONE:4
HEADERS_RECEIVED:2
LOADING:3
OPENED:1
UNSENT:0
abort:function abort(){
addEventListener:function addEventListener(){
dispatchEvent:function dispatchEvent(){
getAllResponseHeaders:function getAllResponseHeaders(){
getResponseHeader:function getResponseHeader() {
onabort:空
的onerror:空
的onload:空
onloadstart:空
onprogress:空
的onreadystatechange:函数(){
打开:open()函数{
overrideMimeType:功能overrideMimeType(){
readyState的:4
removeEventListener:功能removeEventListener(){
responseText的: ""
responseXML的:空
发送:功能的send(){
setRequestHeader:功能setRequestHeader(){
状态:0
状态文本: ""
上传:XMLHttpRequestUpload
withCredentials:假
Li0*_*liQ 16
它是否有事情需要xhr进入不同服务器的事实?
是的,你不能通过AJAX向另一台服务器发送请求.然而,您可以从服务器端发送您的请求.因此,您需要实现以下工作流程:您的页面 - >您的服务器 - >第三方服务器 - >您的服务器 - >您的页面,其中" - >"表示发送数据.
| 归档时间: |
|
| 查看次数: |
10559 次 |
| 最近记录: |