/ / कॉर्डोबा / फोनगैप और नोड.जेएस: एक्सएमथप्रेटप्रॉस्टेस्ट रिटर्न की स्थिति

कॉर्डोबा / फोनगैप और नोड.जेएस: एक्सएमथप्रेटप्रॉवेस्ट रिटर्न स्टेटस 0 - नोड.जेएस, कॉर्डोवा, xmlhttprequest

मैंने नोड.जेएस में HTTP सर्वर लिखा है

var http = require("http");
http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World " + request.url + "nn");
console.log(request.url);
}).listen(8124);
console.log("Server running at http://127.0.0.1:8124/");

फोनगैप / कॉर्डोवा ऐप से अनुरोधों को पूरा करना चाहिए:

function testnodejs() {
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)  {
alert ("Your webbrowser does not support HTTP Request");
return;
}
var url="http://domain.com:8124/i.t?hi=hi!";
console.log(url);
document.getElementById("maindiv").innerHTML = "<div id="itembrd" onClick="testnodejs();"><div id="item">Nodetest</div></div>";
xmlHttp.open("GET", url, true)
xmlHttp.onreadystatechange=function() {
document.getElementById("maindiv").innerHTML += xmlHttp.status + " ";
if (xmlHttp.readyState==4) {
console.log(xmlHttp.responseText);
document.getElementById("maindiv").innerHTML += xmlHttp.responseText + "<br />n";
}
}
xmlHttp.send(null)
}

Config.xml में मेरे पास है

<access origin=".*" />

अनुरोध एक तैयार 4 लौटाता है, लेकिन साथ ही 0 की स्थिति भी जब आप 200 की उम्मीद करते हैं।

उत्तर:

जवाब के लिए 3 № 1

इसलिए, मैंने इसे कुछ दिनों के लिए अलग रखा। ताजा त्याग के साथ वापस आ गया और इसे ठीक कर दिया। मुद्दा नोड.जेएस सर्वर की ओर था जो कि 200 के पास नहीं था, लेकिन अनुमति के मूल के कारण 0. था। मैं इस तरह से प्रतिक्रिया हेडर फिर से लिखता हूं:

response.writeHead(200, {
"Content-Type": "text/plain",
"Access-Control-Allow-Origin" : "*"
});

और आवाज! टैंगो!

अब मेरे पास कॉर्डोवा / फोनगैप ऐप्स के भीतर एक्सएचआर अनुरोधों के लिए एक बहुत हल्का समाधान है।