使用AngularJS的Windows Phone 8.1上的Phonegap无法从我的API检索JSONP

Gas*_*rre 9 javascript angularjs cordova onsen-ui

我用Phonegap Cordova制作了一个应用程序,当我在Android上测试它时一切正常,但是当我在Windows Phone 8.1上测试时,它给了我以下错误:

APPHOST9601:无法加载http://www.example.com/apiv2/process.php/Login2?Email=xxxx@xxxx.com&Password=7c4a8d09ca3762af61e59520943dc26494f8941b&callback=angular.callbacks._0.应用无法在本地上下文中加载远程Web内容.文件:index.html.我正在使用Angularjs和Onsenui.

编辑:

代码是:

var apiprincipal = 'http://www.example.com/apiv2/process.php/';
 // Log In Controller
  app.controller('loginController', [ '$http', '$scope', '$rootScope', function($http, $scope, $rootScope){

    $scope.email = '';
    $scope.password = '';

    $scope.loginN = function(){

      if($scope.email==='' && $scope.password===''){         

        ons.notification.alert({message: "Vo\u00E7\u00EA dever\u00E1 preencer os dois campos usu\u00E1rio e senha"});

      } else {

        modal.show();

          $http.jsonp(apiprincipal+'Login2?Email='+$scope.email+'&Password='+CryptoJS.SHA1($scope.password)+'&callback=JSON_CALLBACK').success(
            function(response){

              if(response.status=='ok'){

                 console.log('WORKING')

              } else{

                modal.hide();

              }

            }
          );


      }

    };

  }]);
Run Code Online (Sandbox Code Playgroud)

Non*_*Non 0

首先,尝试删除一些不必要的代码以获得更具可读性的问题。

您的网址应该如下所示

$http.jsonp(apiprincipal+'Login2?Email='+$scope.email+'&Password='+CryptoJS.SHA1($scope.password)+'&_jsonp=JSON_CALLBACK') 
Run Code Online (Sandbox Code Playgroud)

如果这&_jsonp=JSON_CALLBACK不起作用,请将其更改为?_jsonp=JSON_CALLBACK

我在我的应用程序中也有同样的情况,昨天我正在读一篇文章,所以我像这样修复它:

http://amyurl.com/wp-json/posts?_jsonp=JSON_CALLBACK
Run Code Online (Sandbox Code Playgroud)

现在它正在工作。