如何在Android上的Ionic Framework中执行跨域http请求?

时间:2015-05-28 06:49:43

标签: javascript cordova ionic-framework ionic cross-domain

如何在Android上的Ionic Framework中执行跨域http请求?

我试图在ionic.project中设置代理,但没有帮助。以下是我的请求:

if (this.getField("CheckboxRow").value != "Off") {
    // box is checked
    event.value = oFldQtyty.value * oFldItem.value ;
} else {
    // box is unchecked
    event.value = 0 ;
}

这里是离子项目:

$http.get('http://localhost:8100/getnews/?hashcode=' + hashcode + '').then(function (resp) {
        ...
    }, function (err) {
        ...
    }

它不适用于Android,总是调用函数(错误)分支。它适用于一台计算机的浏览器,不能在另一台PC的浏览器上运行。

Cordova 5.0.0,Ionic 1.3.20,Android 5.x。

3 个答案:

答案 0 :(得分:0)

我最终在我的Ionic应用程序中做的是将其添加到PHP文件中,该文件作为JSON API播放(我从Ionic应用程序调用):

header('Access-Control-Allow-Origin: *');

那么,如果您控制您的API端点服务器并且能够进行类似的操作(您没有提到您使用的API堆栈?)更改,那么您应该没问题。 如果有人有更好的用例,请回复...

答案 1 :(得分:0)

localhost是"这台机器",这就是为什么它在服务器机器上运行而不能在其他机器上运行的原因。

使用服务器将localhost更改为本机的本地IP,例如192.168.1.X

答案 2 :(得分:0)

如果你试图在你的原点之外调用服务,那么你应该在服务器端添加访问控制标题,否则你可以尝试$ http.jsonp而不是$ http.get(我没有尝试这种方法)。

我希望这会对你有所帮助。