3

Phonegap 3.1 を使用して Android アプリケーションを作成しようとしています。Header set Access-Control-Allow-Origin "*"アプリはリモート サーバーからデータを取得する必要があります。リモート サーバーは、アプリがデータを取得する URI に設定されたディレクティブを使用して Apache を実行しています。<access subdomains='true' url='*' />Phonegap の config.xml ファイルに設定しました。以下のコードは、Web ページをサーバーとは別のローカル Apache ディレクトリ (物理的に異なる場所にある異なるドメインの異なるマシン) に配置して Chrome から呼び出すと、機能し、「成功」関数を実行しますが、呼び出そうとするとPhonegap 経由では、役に立たないエラーがスローされます{"readystste":0,"responseText":"","status":0,"statusText":"error"}。これ"readystate":0は、Phonegap でのみ発生しているアクセス エラーまたはクロスサイト スクリプティング エラーである可能性があるため、自分で設定する必要があると信じていますが、

ご協力いただきありがとうございます。私はこれを実行する必要があり、それを機能させるために 1 週​​間 Web を精査してきました。

<!DOCTYPE HTML>
<HTML>
<HEAD>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <link rel="stylesheet" type="text/css" href="css/affirmation.css">
  <script src="js/jquery-1.10.1.min.js"></script>
  <script>

  $.support.cors = true;

  $(document).ready(function(){

      $.ajax({
        type: 'POST',
        url: 'http://www.remote.server/info/API',
        datatype: 'json',
        data: JSON.stringify(
          { method: 'content',
          params: [
            'text passed to function on server' 
          ],
          id: '1' }
        ),
        success: function(response, textstatus, jqxhr) {
        $('#graf1').text(JSON.stringify(response));
        $('#graf3').text(JSON.stringify(textstatus));
        $('#graf6').text(JSON.stringify(jqxhr));
        },
        error: function(jqxhr, textstatus, errorthrown) {
        $('#graf1').text(JSON.stringify(jqxhr));
        $('#graf3').text(JSON.stringify(textstatus));
        $('#graf6').text(JSON.stringify(errorthrown));
        }

      });          
  });

  </script>

</HEAD>
<BODY>
  <DIV ID="header">JSON Server Test</DIV>
  <DIV ID="content">
  <DIV ID="graf1" CLASS="bodytext"></DIV>
  <DIV ID="graf3" CLASS="bodytext"></DIV>
  <DIV ID="graf6" CLASS="bodytext"></DIV>
</BODY>
</HTML>
4

3 に答える 3