Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在浏览器中工作的本地主机上的WCF服务不在PhoneGap中工作_Android_Eclipse_Wcf_Web Services_Cordova - Fatal编程技术网

Android 在浏览器中工作的本地主机上的WCF服务不在PhoneGap中工作

Android 在浏览器中工作的本地主机上的WCF服务不在PhoneGap中工作,android,eclipse,wcf,web-services,cordova,Android,Eclipse,Wcf,Web Services,Cordova,以下是我的web服务,它在Fiddler和我的浏览器中运行得非常好: 然后,我尝试通过phonegap中的Jquery调用此函数,但失败了: 以下是我使用Eclipse在phonegap中的jquery: <script type="text/javascript"> $.ajax({ url: 'http://localhost:11458/PlayerSvc.svc/GetPlayers', dataType: 'json',

以下是我的web服务,它在Fiddler和我的浏览器中运行得非常好:

然后,我尝试通过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>

$.ajax({
网址:'http://localhost:11458/PlayerSvc.svc/GetPlayers',
数据类型:“json”,
//超时:55000,
//发送前:函数(xhr){
//可以在此处设置任何所需的标题
//setRequestHeader('Authorization','username-password');
// },
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(“失败”);
},
成功:功能(数据){
警惕(“成功”);
}
});

为了确保我的jquery没有问题,我用这段代码测试了另一个Web服务,结果成功了。我不知道如何收集更多关于如何调试的信息。我尝试用console.log(上面的javascript)包装我的javascript,但我无法让它工作。正如您在上面看到的,我只是使用了alert函数来输出失败的错误消息。有什么想法吗?我想我可以尝试使用try-catch,然后看看是否可以输出异常…

您需要允许白名单URL,并将主机地址添加到phonegap.plist文件中的外部主机


您是否在Android emulator中运行PhoneGap应用程序?如果是,我认为仿真器中的localhost(127.0.0.1)指的是仿真器本身,而不是主机。也许您需要尝试另一个IP地址(可能10.0.2.2工作)

以下是解决此问题的问题/答案:


我使用的是Android,没有phonegap.plist文件,而是一个phonegap.xml,我已经添加到该文件中,所以我认为这不是问题所在。。同样奇怪的是,我使用的测试Web服务确保我的javascript不是问题所在,即使我没有将其添加到phonegap.xml文件中……您是在模拟器还是真实设备中进行测试?有关emulator,请参见Kyberias答案。否则,请在网络上使用开发机器的网络IP,可能在192.168.*.*范围内。非常感谢!这就是问题所在。我将本地主机更改为10.0.2.2,因此它工作正常。再次感谢