$http.get() 在 Windows Phone (7 & 8) 上总是失败
Posted
技术标签:
【中文标题】$http.get() 在 Windows Phone (7 & 8) 上总是失败【英文标题】:$http.get() always fails von Windows Phone (7 & 8) 【发布时间】:2014-05-23 07:07:09 【问题描述】:我的应用程序 (angularjs + cordova/phonegap) 从远程服务器加载内容 (json),这在 android 和 ios 上运行良好,但在 windows phone 上请求总是失败。我的代码如下所示:
$http.get( url )
.success(function( response )
...
)
.error(function( data , status , headers , config )
console.log( data , status , headers , config );
);
很遗憾,我没有收到任何真正的错误消息(数据、状态和标题只是“未定义”)。
【问题讨论】:
不知道对你有没有帮助:github.com/jquery/jquery-mobile/issues/6574 谢谢,不幸的是我已经尝试过这些解决方案,但它们都不起作用。我的请求url是正确的,里面没有“x-wmapp0”-part,而是真实的url。 您使用的是哪个版本的 Cordova?此问题是在调试中发生还是仅在发布时发生?远程服务器的 SSL 证书是否有效/自签名? 我使用的是 Cordova 2.9.1,但如果我通过 build.phonegap.com 使用当前版本构建应用程序,它也无法在真正的 WP7/8 设备上运行。它发生在调试和发布时,我不使用 SSL 证书。 更新:我也尝试使用 jQuery 1.9 和 2.0 来处理 ajax 请求并用纯 javascript 构建它,但一切都失败了。 【参考方案1】:你可以试试这个……
$http.get('http://myserver.com/phones.json').then(function(data)
$scope.phones = data;
, function(err) alert('Oh no! An error!');
我想你想使用then()
,它接受两个函数作为参数——第一个代表成功,第二个代表错误。 $http.get()
返回一个由 then()
执行的承诺。
查看角度调试工具here。它向您显示范围内可用的内容,并显示性能数据。
【讨论】:
以上是关于$http.get() 在 Windows Phone (7 & 8) 上总是失败的主要内容,如果未能解决你的问题,请参考以下文章
如何在windows下搭建Nginx+MySQL+PHP环境