我不太习惯使用API。我编写了一个向API发送数据的函数。我在文本框文本更改事件上调用了此函数。我没有得到它是否正在工作,因为我没有得到任何错误。下面是函数:
function sendAPIData(url,introduction,coordinateid){
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "http://192.168.51.212:3368/casigo/sDAGinput",true);
xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
var input = JSON.stringify({
"coordinate": coordinateid,
"url": url,
"introduction": introduction
});
xhttp.send(input);
}
它应该返回一些输入字符串。
答案 0 :(得分:3)
要检查服务器的响应,可以使用回调函数:
function sendAPIData(url,introduction,coordinateid) {
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "http://192.168.51.212:3368/casigo/sDAGinput",true);
xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
var input = JSON.stringify({
"coordinate": coordinateid,
"url": url,
"introduction": introduction
});
// callback function
xhttp.onload = function(res) {
if (xhttp.readyState === 4) {
if (xhttp.status === 200) {
console.log("OK");
} else {
console.error("ERROR");
}
}
};
xhttp.send(input);
}
xhttp.onload
是XMLHttpRequest完成后将被调用的函数。其参数res
是服务器的响应。
答案 1 :(得分:0)
XMLHttpRequest包含status
和readyState
属性,可以通过使用onreadystatechange
事件来使用。像下面的代码这样的东西应该可以工作。
xhttp.onreadystatechange=function(){
//readyState == 4 means the request is done and a response is received from the server
if (xhttp.readyState==4 && xhttp.status==200 && typeof(xhttp.responseText) == 'string'){
//Do something
}
}