Javascript 为什么我不能用ajax获得responseText
我想用ajax做一些类似于注册的事情。我只是使用ajax请求url“/check”,它返回“{success:1}”,但是当我使用res=request.responseText时,res什么都不是。然而,我console.log(request.responseText),它变成了{success:1},我如何获得值,我的代码出了什么问题 在我的regist.gtpl中 在我的ajax.js中Javascript 为什么我不能用ajax获得responseText,javascript,ajax,go,Javascript,Ajax,Go,我想用ajax做一些类似于注册的事情。我只是使用ajax请求url“/check”,它返回“{success:1}”,但是当我使用res=request.responseText时,res什么都不是。然而,我console.log(request.responseText),它变成了{success:1},我如何获得值,我的代码出了什么问题 在我的regist.gtpl中 在我的ajax.js中 问题似乎出在Get()Javascript函数中: Get = function (url,cb){
问题似乎出在
Get()
Javascript函数中:
Get = function (url,cb){
request.open("GET",url);
request.onreadystatechange = cb(request);
request.send();
}
您正在将onreadystatechange
属性设置为调用cb
的结果。此时,请求尚未发送,因此没有要读取的响应文本。以下是解决此问题的一种可能方法:
request.onreadystatechange = function() { cb(request); };
您是否从试图通过XmlHTTPRequest访问的同一台服务器上提供网页?如果不是,那么浏览器可能将其视为跨源请求并阻止响应
var Get
(function(){var request = false
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
//两种微软的XMLHttpRequest
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
}
createRequest();
Get = function (url,cb){
request.open("GET",url);
request.onreadystatechange = cb(request);
request.send();
}
})();
Get = function (url,cb){
request.open("GET",url);
request.onreadystatechange = cb(request);
request.send();
}
request.onreadystatechange = function() { cb(request); };