Sea*_*_05 5 javascript asp.net android angularjs cordova
我正在使用Visual Studio 2013 Update 4,我有一个web api项目设置来接收返回数组的get请求.对于客户端应用程序我已设置cordova并使用ng-resource模拟一个Android角度应用程序来调用web api get.每次我调用GET时都会收到ripple.js错误,表示连接被拒绝.即使我尝试使用真正的Android设备,我也会拒绝连接.使用纹波仿真器时出现错误
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,因为cordova和web api项目是同一本地主机上的不同端口号.我通过角网页创建了一个完全复制的cordova角应用程序,不仅证明了cors功能,还证明了代码.我也尝试过postman并且都正确地得到了json的反应.只有cordova Android应用程序给我连接被拒绝.任何帮助将不胜感激!
这是角度得到的样子
app.factory('mrMaintService', function ($resource) {
return $resource('http://localhost:15528/api/requests', {
get: { method: 'GET', array: true }
});
});
Run Code Online (Sandbox Code Playgroud)
这表明我允许web api项目中的所有域:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)
有关访问问题(与http://localhost此相同127.0.0.1)的答案可以在这里找到:http://developer.android.com/tools/devices/emulator.html - 其中说:
"另请注意,127.0.0.1开发机器上的地址对应于模拟器自己的环回接口.如果要访问在开发机器的环回接口(在您的机器上也称为127.0.0.1)上运行的服务,则应使用特殊地址10.0.2.2代替."
所以,而不是使用http://localhostuse http://10.0.2.2然后追加你正在使用的任何端口.示例:http://localhost:8001可以访问http://10.0.2.2:8001
| 归档时间: |
|
| 查看次数: |
5236 次 |
| 最近记录: |