从REST API读取JSON响应始终返回空文本

时间:2017-02-20 08:18:03

标签: javascript json rest api

我希望一切顺利,如果你能帮助我或重新指导我找一个类似的老帖子,我会感激不尽,因为我无法找到。

我尝试发起REST API请求,服务器将发送JSON响应。请求有效,但我无法读取JSON输出。状态始终返回0.

这是我的代码。

<script>
function loadDoc() {

   var xhttp = new XMLHttpRequest();
   xhttp.open("POST", "URL HERE", true);
    xhttp.setRequestHeader("Content-type", "application/json")     
    xhttp.send();
    var response = JSON.parse(xhttp.responseText);
    document.getElementById("demo").innerHTML = response.Result;


}
</script>

我想打印这个JSON的结果:

{ 
  Meta: { 
    Status: 'Success',
    Debug: ''
  },
  Result: { 
    Count: 2584,
    Error: [],
    Info: [],
    Skipped: [],
    DuplicateResponseCount: 0,
    DuplicateError: null
  }
}

非常感谢。

1 个答案:

答案 0 :(得分:1)

巴勃罗说。您正在使用异步。一个选项是使用get方法或只是将回调传递给函数。

function _post(url, callback) {
  var xhttp = new XMLHttpRequest();
  xhttp.open("POST", url, true);

  xhttp.onload = function() {
    if (xhttp.status === 200) callback(xhttp.responseText);
    else callback("error");
  };
  xhttp.send();

  return xhttp.responseText;
}

_post("url here", function callback(response) {
  // you can access response in here.
  console.log(response);
});

在PHP脚本上

<?php
   header("Access-Control-Allow-Origin: *");