Javascript 离子跨域问题
大家好,我正在使用Javascript 离子跨域问题,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,大家好,我正在使用节点服务器进行数据提取,客户端是我的用于android应用程序(phonegap)的离子框架 因此,在我的电脑浏览器中,我点击localhost:8080/sessions(或10.129.86.47:8080/sessions),然后它将从服务器端返回json,但当我在安卓设备中以apk运行此ionic应用程序时,由于跨域,它将不会命中服务器 我的服务器和客户端应用程序都在同一个网络中 我喜欢2比3的解决方案,但它对我不起作用 我尝试的解决方案如下: 1) 首先,我尝试了爱奥
节点服务器
进行数据提取,客户端是我的用于android应用程序(phonegap)的离子框架
因此,在我的电脑浏览器中,我点击localhost:8080/sessions
(或10.129.86.47:8080/sessions
),然后它将从服务器端返回json
,但当我在安卓设备中以apk
运行此ionic应用程序时,由于跨域,它将不会命中服务器
我的服务器和客户端应用程序都在同一个网络中
我喜欢2比3的解决方案,但它对我不起作用
我尝试的解决方案如下:
1) 首先,我尝试了爱奥尼亚代理,我为爱奥尼亚设置了代理,它会点击我的代理url,但不起作用。
示例:在ionic.project文件中,我输入了proxy
{
"name": "proxy-example",
"app_id": "",
"proxies": [
{
"path": "/sessions",
"proxyUrl": "http://10.129.86.47:8080/sessions"
}
]
}
{
“名称”:“代理示例”,
“应用程序id”:“,
“代理人”:[
{
“路径”:“/会话”,
“代理URL”:http://10.129.86.47:8080/sessions"
}
]
}
2) 第二次我尝试了白名单
例如:
<access origin="http://google.com" />
<access origin="https://google.com" />
<access origin="*" /> <!-- Don't block any requests -->
如果我使用*
则表示不阻止任何请求,但对我无效
正如我所知,当phonegap android应用程序点击服务时,它会像点击url一样点击
file://and ....... 因此,它不会影响我的服务器表单应用程序,但默认情况下,Cordova允许跨域请求,但对我来说,它不起作用。此问题通常只运行ionic serve
对于chrome,您可以避免修改项目并使用扩展来禁用CORS:
对于firefox:
您是否尝试过在服务器上设置CORS标头(访问控制允许标头、访问控制允许方法、访问控制允许来源)?是的,我完成了该部分,并且您的应用程序是否连接到网络?控制台日志中显示的确切错误是什么?是的,我连接到同一个网络,如果我从android浏览器中点击相同的url,那么服务器会用json响应,但如果我从android应用程序中点击相同的url,那么它将不起作用bcz当时我的url不是http,它将变为file://................. 我在电脑浏览器和android logcat上远程看到我的日志,实际上它并没有点击文件的url bcz://我想如果你有cordova 5.0.0,那么你需要CORS