这是我的网络服务,在Fiddler和我的浏览器中运行得非常好: http://localhost:11458/PlayerSvc.svc/GetPLayers
然后我尝试通过phonegap中的Jquery调用它,但它失败了: 这是我在使用Eclipse的phonegap中的jquery:
<script type="text/javascript">
$.ajax({
url: 'http://localhost:11458/PlayerSvc.svc/GetPlayers',
dataType: 'json',
// timeout: 55000,
// beforeSend: function(xhr) {
//Possible to set any required headers here
//xhr.setRequestHeader('Authorization', 'username password');
// },
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('failed');
},
success: function(data) {
alert('success');
}
});
</script>
为了确保我的jquery没有任何问题,我使用此代码测试了另一个Web服务并且它成功了。我不知道如何收集有关如何调试此信息的更多信息。我尝试用console.log(上面的javascript)包装我的javascript,但我无法使用它。如上所示,我只使用alert函数输出失败的错误消息。有任何想法吗?我想我可以尝试使用try catch然后看看我是否可以输出异常...
答案 0 :(得分:3)
您是否在Android模拟器中运行PhoneGap应用程序?如果是,我认为模拟器中的localhost(127.0.0.1)是指模拟器本身而不是主机。也许你需要尝试另一个IP地址(可能10.0.2.2工作)。
以下是解决此问题的问题/答案:
答案 1 :(得分:0)
您需要允许白名单网址并将您的主机地址添加到phonegap.plist文件中的外部主机。
http://geekaboo.wordpress.com/2011/11/20/ios5-whitelist-url-unauthorized-using-phonegap/