我正在使用phonegap并尝试在点击按钮时调用xhr POST。
我的流程转到方法调用,但没有调用xhr代码,我无法理解为什么。 电话看起来像:
function fetchTags(){
console.log("Fetched url is:" + IMAGE_URL);
//var url = "http://localhost:8080/echo";
var url ="http://localhost:8080/echo";
console.log("#1");
var xhr = new XMLHttpRequest();
console.log("#2");
xhr.addEventListener("error", onError);function onError(evt) { console.log("An error occurred while transferring the file."); }
console.log("#3");
xhr.setRequestHeader("Content-type", "application/json");
console.log("#4");
xhr.open('POST', url, true);
console.log("#5");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);
window.alert(response);
}else{
window.alert(xhr.status);
}
};
console.log("#5");
//var msg = "{'message' : '" + IMAGE_URL + "'}";
console.log("sending request");
xhr.send(JSON.stringify({"message" : "my msg"}));
}
按钮代码:
<button class="button button-raised larger" type="button" onclick="fetchTags()">Vision</button>
控制台打印:
Fetched url is:undefined
#1
#2
#3
为了澄清我可以看到第一个console.log被打印出来。但就是这样。之后没有任何事情发生
答案 0 :(得分:0)
只是为了每个人的利益,问题不是javascript,而是使用localhost从phonegap调用。
我认为phonegap可以在localhost上访问我的api(不知道为什么会有这个愚蠢的想法),但是使用主机的实际ip可以立即使用它。