我在连接到服务器时遇到问题,无法检查手机应用程序的凭据,我正在使用phonegap进行开发。
我已经检查了这些问题,但他们没有给我我正在寻找的东西
我已经阅读过这个主题并使用获取请求制作了多个网站,所以我对这个问题有很好的理解,我只是不确定发生了什么。
http://simonmacdonald.blogspot.com/2011/12/on-third-day-of-phonegapping-getting.html
以下是我的代码:
login.onclick = function() {
var req = new XMLHttpRequest();
req.open('GET', 'myServer'+username.value+".json", true);
req.send();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if( (req.status == 200) || (req.status == 0) ) {
var json = JSON.parse(req.responseText);
if(json.length > 0) {
if((json[0]["username"] == username.value) && (json[0]["phoneCred"] == password.value)){
localStorage.setItem("loggedIn",username.value);
location.reload();
}
else {
alert("Incorrect password");
}
}
else {
alert("Incorrect username");
}
}
else {
alert("Error talking to server");
}
}
}
};
我将req.status == 0添加到了一个if,现在我的按钮完全没有响应,我至少得到了警报,我没有和服务器通话。如果有人有任何见解,我将不胜感激!
好吧所以我的代码中有一些错误,其中我修复了这里是我的更新代码:
login.onclick = function() {
var req = new XMLHttpRequest();
req.open('GET', 'myServer'+username.value+'.json', true);
req.send();
alert('myServer'+username.value+'.json');
req.onreadystatechange = function() {
if (req.readyState == 4) {
if( (req.status == 200) || (req.status == 0) ) {
//alert(req.responseText.length);
alert(req.responseText);
if(req.responseText.length > 0) {
var json = JSON.parse(req.responseText);
if( (json[0].username == username.value) && (json[0].phoneCred == password.value) ){
localStorage.setItem("loggedIn",username.value);
location.reload();
}
else {
alert("Incorrect password");
}
}
else {
alert("Incorrect username");
}
}
else {
alert("Error talking to server");
}
}
}
};
我有两部手机,我一直在测试它,它在我的星系音符上工作,但不是在我的星系s4上,如果这可能暗示任何东西。
我还将我的xml文件中的访问标记更改为
<access origin=".*" />
从我做了一些阅读之后
Phonegap + Android status=0 returned from webservice
phonegap XMLHttpRequest responseText empty with android but contain data in iphone
和
Empty responseText from XMLHttpRequest
但是我的galaxy s4似乎仍然没有从服务器接收任何数据。它可能是相同的原始政策或一些我不确定的互联网访问设置。如果有人有任何建议,我会非常感激。
答案 0 :(得分:3)
修正了它。我需要添加
<access origin="http://google.com" />
到config.xml文件,其中google.com是我自己的服务器。现在你可以看到Phonegap有一些很好的文档
http://docs.phonegap.com/en/3.3.0/guide_appdev_whitelist_index.md.html#Whitelist%20Guide