我无法弄清楚为什么我的代码无效。我要做的是向在线API发送POST请求,该API也将返回JSON数据。在它说“搜索帐户数据......”后,代码似乎没有执行任何其他操作。
函数RequestBoardInfo(){
var xmlhttp = new XMLHttpRequest();
//BoardInfoUrl = getBoardInfoUrl();
BoardInfoURL = "https://meshech.leankit.com/kanban/api/board/2847596743/searchcards";
var parameters = {
"searchOptions":{
"SearchTerm": "",
"SearchInBoard": true,
}
};
xmlhttp.open("POST", BoardInfoUrl, true);
xmlhttp.setRequestHeader("Content-type", "application/json");
document.getElementById("search").innerHTML = "Searching for account data...";
xmlhttp.onreadystatechange = function () {
document.getElementById("search").innerHTML = "Processing next request...";
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//define what to retrieve here
document.getElementById("search").innerHTML = "jsonData found!";
jsonData = xmlhttp.responseText;
createFile();//creates a text file
//the variable below is the parameters for the POST function in JSON.
}
}
xmlhttp.send(JSON.stringify(parameters));
}
我肯定知道它没有进入onreadystatechange功能,但我为什么会迷失方向。任何帮助将不胜感激。 提前谢谢。
编辑:好的,所以我在setrequestheader之前将代码更改为打开。但现在它停在开放状态。
答案 0 :(得分:1)
出现此错误:
Uncaught InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest':
The object's state must be OPENED.
我说你需要先执行.open()
,然后.setRequestHeader()
答案 1 :(得分:0)
BoardInfoURL
未定义,超出范围(请参阅开头的var
):
var BoardInfoURL = "https://meshech.leankit.com/kanban/api/board/2847596743/searchcards";