2012-01-14 15 views
1

私は現在、クロスドメインのデータ転送に取り組んでいます。私は実際に大きなブロックを打った、私は時間を費やしました&時間は、どのようなポインタも大きく受け取れるようにするための正しい方法です。

jquery &私は、json_encodesのデータをPHPページから取得するためにgetJSONを使用しています。

私のjqueryのコードは `以外は何も出力しないPHPページに話し

$.getJSON("http://www.icetrack.it/scripts/php/data/ipAddress.php", 

    {  
     location: locationVar, 
     user_key: user_key, 
     refer: refer, 
     title: title, 
     async:false,   
     dataType: 'json', 
     success: function(data) { 

      alert(data); 
     } 
       },"json"); 

echo json_encode(array("id"=>"$id")); ?> 

でこのページには、まだそのようなすべての

{"id":"198"} 

としてJSONを出力します私のjQueryは返されます未定義の変数は、どこが私は間違っているこれは狂って運転しています!

ありがとうございます!

+1

同期(:false'の '非同期)を使用することが本当の正当な理由を持ってしてください:

が、これは試してみてください。あなたのページはこれを完了するのを待っていて、それが終わっていなければ反応しなくなります。成功の後続の関数を呼び出すことで、そのページをロックしないようにする方法を見つけてください。 – Nanne

答えて

0

$.getJSON()に間違ったパラメータを渡しています。あなたが提供したパラメータの多くは、$.ajax()でしか機能しません。

特に、$.getJSON()ためdataパラメータがないarbirtrary $.ajax()パラメータのサーバに送信するパラメータは、CGIのためのものです。

$.ajax({ 
    url: "http://www.icetrack.it/scripts/php/data/ipAddress.php", 
    data: {  
     location: locationVar, 
     user_key: user_key, 
     refer: refer, 
     title: title 
    }, 
    async:false,   
    dataType: 'json', 
    success: function(data) { 
     alert(data); 
    } 
}); 
+0

こんにちは、高速応答のおかげで、私は同じドメイン内からこの作業を持っている、私は2つのドメインを介して送信しようとしている - これは同じ$ .ajax呼び出しですか? – dj10dj100

+0

クロスドメインに行く場合は、PHPで 'Access-Allow-Origin'ヘッダーが必要です。またはJSONP出力 – Alnitak

+0

ありがとうございます! AGESのためにそれを探していた!再度、感謝します! – dj10dj100

関連する問題