2015-04-22 12 views
9

से जेएसओएनपी पुनर्प्राप्त नहीं कर सकता है मैंने फोनगैप कॉर्डोवा के साथ एक ऐप बनाया है और जब मैं एंड्रॉइड पर इसका परीक्षण करता हूं तो सब ठीक है, लेकिन जब मैं इसे विंडोज फोन 8.1 पर परीक्षण करता हूं तो यह मुझे निम्न देता है त्रुटि:एंगुलरजेएस के साथ विंडोज फोन 8.1 पर फोनगैप मेरे एपीआई

APPHOST9601: Can’t load http://www.example.com/apiv2/process.php/[email protected]&Password=7c4a8d09ca3762af61e59520943dc26494f8941b&callback=angular.callbacks._0 . An app can’t load remote web content in the local context. File: index.html. I am using Angularjs and 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(); 

       } 

      } 
     ); 


     } 

    }; 

    }]); 
+0

ऐसा प्रतीत होता है कि आप ऐसी विधि का उपयोग कर रहे हैं जो Windows 8.1 डिवाइस के लिए सुरक्षा प्रतिबंधों का उल्लंघन करता है। क्या आप उस कोड को सूचीबद्ध कर सकते हैं जिसे आप निष्पादित कर रहे हैं जो इस त्रुटि को समीक्षा के लिए कारण दे रहा है? – Claies

+0

यह एक कॉरस समस्या –

+0

निश्चित रूप से एक कॉरस मुद्दा की तरह लगता है। आपको क्रॉस ओरिजिनल रिसोर्स शेयरिंग (सीओआरएस) के लिए हेडर जोड़ने की जरूरत है। http://en.wikipedia.org/wiki/Cross-origin_resource_sharing – Claies

उत्तर

0

सबसे पहले, एक अधिक पठनीय प्रश्न के लिए कुछ अनावश्यक कोड निकालने का प्रयास करें।

आपका यूआरएल मामले में इस

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

की तरह दिखना चाहिए कि &_jsonp=JSON_CALLBACK काम नहीं करता, ?_jsonp=JSON_CALLBACK

मैं अपने ऐप और कल में ही मैंने एक लेख पढ़ रहा था के साथ था के लिए इसे बदल, तो मैं इसे इस तरह ठीक करता हूं:

http://amyurl.com/wp-json/posts?_jsonp=JSON_CALLBACK 

अब यह काम कर रहा है।

+0

यह समाधान मेरे लिए काम नहीं करता है, मुझे अपने JSONP कॉल को GET कॉल जैसे '$ http.get (...' – Ben

-1

विंडोज 8.1 को लक्षित करते समय मुझे एक ही समस्या थी।

सबसे पहले मैंने अपने बैकएंड समर्थित कॉरस की जांच की। मुझे विंडोज 8.1 में JSONP रखने का कोई तरीका नहीं मिला, मुझे इसे एक साधारण जीईटी विधि में बदलना पड़ा। फिर मैंने यूआरएल से 'कॉलबैक' हटा दिया।

अपने कोड की चर्चा करते हुए यह है कि

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

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

     console.log('WORKING'); 

    } else{ 

     modal.hide(); 
    } 
}); 

यह मेरे लिए ठीक काम किया की तरह दिखना चाहिए, आशा है कि यह किसी और कर सकते हैं।

संबंधित मुद्दे