$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),这在 androidios 上运行良好,但在 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) 上总是失败的主要内容,如果未能解决你的问题,请参考以下文章

pho

Windows MFC HTTP GET请求 函数流程

如何在windows下搭建Nginx+MySQL+PHP环境

30个你常吃却一直念错的食物:你常吃的 "Pho" "Pear" "Cocoa" 你确定念对了吗?

给DIV添加鼠标经过事件,要怎么写?

PHP第一天