Angularjs $ http.post无法在Android应用程序中工作,但在模拟器中工作

时间:2015-10-05 07:07:17

标签: android angularjs cordova ionic-framework

我正在开发一个在Android设备上运行的应用程序。 我正在使用带有ng-Cordova,离子框架和angularjs的Visual Studio 2015

按照代码(在角度控制器中)获取数据与Web Api连接(在Visual Studio中开发并托管在网站中)

//OnSubmit of the form
$scope.submit = function () {
    alert("I am here");
    $http.post('<webapi address>', $scope.item).
        success(function (data, status, headers, config) {
             alert("Success")
            // play with data
        }).
    error(function (data, status, headers, config) {
        alert("error");
        alert(status);
    })
};

Index.html包含ng-model =“item.mytext”

app.js $ scope.item包含html文本框值

Config.xml包含对cordova-plugin-whitelist的引用及其所有相关的allow-intent href

Android manifest-xml包含uses-permission android:name =“android.permission.INTERNET”

如果我在android模拟器中运行整个代码,它可以成功使用alert(“Success”)并从Web API获取数据

但是作为adroid设备中的应用程序,在提交按钮上单击它会转到带有警报的$ scope.submit(“我在这里”)。 然后它在带有警报的$ http.post上失败(“错误”)。因此,不会产生任何错误,并且所有参数数据,状态,标题,配置都是未定义的。

我也试过这个$ http.defaults.headers.post [“Content-Type”] =“application / x-www-form-urlencoded”;但没有成功。

我已经尝试了所有有关类似问题的答案给出的信息,但没有成功。

请帮助。

0 个答案:

没有答案