正在从XMLHttpRequest responseText获取数据

Getting data from XMLHttpRequest responseText

本文关键字:获取 数据 responseText XMLHttpRequest      更新时间:2023-09-26

我正在使用ajax来获取一些数据,这些数据我想在ajax完成后使用。但是我无法操纵响应这是我的代码

function testAjax() {           
        direc = "controller.php";
        return $.ajax({url: direc});            
        }           
        var obj = testAjax(); 
        console.log(obj);           
        console.log(obj.responseText); 

console.log(obj(返回这个:

 XMLHttpRequest { readyState=1,  timeout=0,  withCredentials=false,  more...}

响应

"[{"CLICREDIT_Cod":"1002","CLICREDIT_Credit":"2000","CLICREDIT_FlagEstad":"1"}]"

响应文本

"[{"CLICREDIT_Cod":"1002","CLICREDIT_Credit":"2000","CLICREDIT_FlagEstad":"1"}]"

console.log(obj.responseText(返回这个:

(an empty string)

有办法处理这些数据吗?我试过一些类似JSON.parse的东西,但似乎都不起作用,任何帮助都将不胜感激。感谢

由于ajax是异步的,因此必须使用:

promise.then( doneCallback, failCallback )

function testAjax() {
  direc = "controller.php";
  return $.ajax({
    url: direc
  });
}
var obj = testAjax();
obj.then(function(result) {
  console.log(result);
}, function(xhr, ajaxOptions, thrownError) {
  alert(xhr.status);
  alert(thrownError);
});

这是异步的,您需要使用.done()函数。看看这里的样品。

您可以在success之后使用回调函数。浏览器不等待响应并继续执行代码。所以当浏览器得到结果时,回调函数就会被调用。

$.ajax({url: direc, success: doSmth});
function doSmth(data){
//do something with data
}

使用success((获取请求页面的响应

 var responseText={};
 $.ajax({url: 'controller.php',
    type:"POST",
    success: function(data)
   {
        responseText= data;
    }});