发送POST请求时出错

时间:2015-07-06 14:38:54

标签: javascript json post

我无法弄清楚为什么我的代码无效。我要做的是向在线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之前将代码更改为打开。但现在它停在开放状态。

2 个答案:

答案 0 :(得分:1)

出现此错误:

Uncaught InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest':
The object's state must be OPENED.

我说你需要先执行.open(),然后.setRequestHeader()

https://jsfiddle.net/q6w12jae/

答案 1 :(得分:0)

BoardInfoURL未定义,超出范围(请参阅开头的var):

var BoardInfoURL = "https://meshech.leankit.com/kanban/api/board/2847596743/searchcards";