Javascript xmlhttprequest没有响应文本

Javascript xmlhttprequest没有响应文本,javascript,php,ajax,object,Javascript,Php,Ajax,Object,我试图使用xmlhttprequest向php响应程序发送一个对象,运行一个搜索查询,然后将结果作为一个对象发送回来,但由于某种原因,没有结果。我可以在网络选项卡下看到,响应程序生成了所需的记录,但未对其进行处理。我一辈子都看不出这个问题 请求: 函数returnJSON(变量、URL、回调){ var ajaxObj=新的XMLHttpRequest(); 打开(“POST”,URL,true); 控制台日志(“过账”); setRequestHeader(“内容类型”、“应用程序/x-ww

我试图使用xmlhttprequest向php响应程序发送一个对象,运行一个搜索查询,然后将结果作为一个对象发送回来,但由于某种原因,没有结果。我可以在网络选项卡下看到,响应程序生成了所需的记录,但未对其进行处理。我一辈子都看不出这个问题

请求:

函数returnJSON(变量、URL、回调){ var ajaxObj=新的XMLHttpRequest(); 打开(“POST”,URL,true); 控制台日志(“过账”); setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”); ajaxObj.onreadystatechange=函数(){ 如果(ajaxObj.status==200) if(ajaxObj.readyState==4) 回调(JSON.parse(ajaxObj.responseText)); console.log(ajaxObj.responseText); }; ajaxObj.send(变量);
}替换这些代码行:

if (ajaxObj.status === 200)
  if (ajaxObj.readyState === 4)
    callback(JSON.parse(ajaxObj.responseText));
    console.log(ajaxObj.responseText);
有了这些:

if (ajaxObj.readyState === 4) {
   if (ajaxObj.status === 200){
      callback(JSON.parse(ajaxObj.responseText));
      console.log(ajaxObj.responseText);
   }
}

我设法让它工作起来

函数returnJSON(变量、URL、回调){ var ajaxObj=新的XMLHttpRequest(); 打开(“POST”,URL,true); 控制台日志(“过账”); setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”); ajaxObj.addEventListener(“加载”, 函数(){ 控制台日志(“接收”); 回调(JSON.parse(ajaxObj.responseText)); } ); ajaxObj.send(变量);
}您是否尝试过将readyState检查置于状态检查之前
if(ajaxObj.readyState==4)(ajaxObj.status==200)
另外,if
(ajaxObj.readyState==4)
要执行的语句应该用大括号括起来,因为如果该条件的计算结果为true,您有多条语句要执行。您能显示收到的服务器响应的格式吗?这可能会有所帮助。我最终通过使用加载事件侦听器对其进行排序。感谢您的帮助:)