xhr不会从js调用

时间:2017-03-30 17:16:39

标签: javascript cordova

我正在使用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被打印出来。但就是这样。之后没有任何事情发生

1 个答案:

答案 0 :(得分:0)

只是为了每个人的利益,问题不是javascript,而是使用localhost从phonegap调用。

我认为phonegap可以在localhost上访问我的api(不知道为什么会有这个愚蠢的想法),但是使用主机的实际ip可以立即使用它。