2

質問があります。iOS 用の cordova アプリケーションを開発しており、jQuery を使用して AJAX リクエストを作成しようとしています。外部サーバーは、cordova.plist でホワイトリストに登録されています (実際、念のためホワイトリストに登録しました)。クロムで手動で呼び出すことができ、正しいデータを返すので、関数は正しいと確信しています。

ただし、アプリケーションで実行すると、次のヘッダー データが返されます。
{"readyState":0,"responseText":"","status":0,"statusText":"error"}

crossDomain変更するfalseと、次のヘッダー データが返されます。 {"readyState":4,"responseText":"","status":404,"statusText":"error"}

$.ajax({  
   type: "POST",  
   url: url,  
   data: request,  
   crossDomain:true,  
   success:  
       function(data, textStatus, jqXHR){  
           console.log('succes :S');  
           console.log(data);  
           console.log(textStatus);  
           console.log(jqXHR);  
       },  
    error:   
       function(data, textStatus, jqXHR){  
           console.log('fail :(');  
           console.log(data);  
           console.log(textStatus);  
           console.log(jqXHR);  
       }  
}); 

考えられることはすべて試したので、誰かが何が悪いのか教えてくれることを願っています。

編集:ありがとうございますが、問題が何であるかを理解しました。プロジェクトには暗号化が使用されていましたが、ネイティブ クラスに存在するコードの一部がまだ残っています。そのため、いくつかの URL を暗号化または復号化しました。このトピックは現在クローズできます。

4

4 に答える 4

0

使用している場合は、localhost の代わりに IP または仮想 DNS を使用します。

于 2015-07-29T06:10:48.223 に答える
-1

以下のように dataType 'JSONP' を指定しようとしましたか

dataType: 'jsonp'

これは、js クロスドメイン呼び出しのソリューションです

この投稿を参照してください

jQuery でクロスドメイン ajax JSONP リクエストを作成する

于 2013-01-30T15:53:45.903 に答える