我正在使用Visual Studio 2013 Update 4,并且我有一个web api项目安装程序来接收获取返回数组的请求。对于客户端应用程序,我已经安装了cordova,并且正在模拟一个使用ng-resource调用web api获取的android角度应用程序。每次我打电话给GET时,我都会遇到一个说明连接被拒绝的ripple.js错误。即使我尝试使用真正的Android设备,也会拒绝连接。下面是使用波纹模拟器Cordova Angular获取Web Api连接拒绝
OPTIONS http://****:4400/ripple/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rur…Fget%3D%257B%2522method%2522%3A%2522GET%2522%2C%2522array%2522%3Atrue%257D net::ERR_CONNECTION_REFUSED
我肯定启用Web API 2服务器上CORS以来,科尔多瓦和Web API项目都是一样的本地主机上的不同端口号时出错。我不仅证明了cors的功能,而且还通过创建具有角度网页的cordova角度应用的精确副本来代码。我也试过邮差,都正确地得到JSON响应。这是只有科尔多瓦Android应用程序给我的连接被拒绝。任何帮助将不胜感激!
这里是角GET样子
app.factory('mrMaintService', function ($resource) {
return $resource('http://localhost:15528/api/requests', {
get: { method: 'GET', array: true }
});
});
这表明我允许在网页API项目的所有领域:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
是否已将您的cordova config.xml中的api域列入白名单?见https://cordova.apache.org/docs/en/edge/guide_appdev_whitelist_index.md.html#Whitelist%20Guide – Amitesh 2014-11-25 05:28:21
那里有一个星号,所以我假设所有的都是白名单。我也明确地添加了web api localhost,但没有运气。还有其他建议吗? – 2014-11-25 05:36:41