3

ブラウザのアドレスバーに ajax URL を直接投稿しているときに、リモートサーバーからデータを取得するために ajax を使用しています。ここにコードを貼り付けます。

<!DOCTYPE html>
<html>
<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$.ajax({
url:"http://www.appitechture.com/api/index.php?action=getContactDetails&id=96",
type:'get',
datatype:'json',
success:function OnSuccess(data , status){
  alert(data);
   } ,

error: function OnError(request , status , error){
        alert('error');
      }
 });
 </script>

 </head>
 <body>
  <div id="images"></div>
 </body>
  </html> 

誰かがその解決策を知っているなら教えてください。

ありがとうございます

4

2 に答える 2

5

クロスドメイン AJAX リクエストを実行しようとしていますか? 悪い考えです。この記事を読んでくださいhttp://en.wikipedia.org/wiki/Same_origin_policy

于 2012-10-23T10:50:57.000 に答える
0

同じドメインでない場合は、JSONP(パディング付きのJSON)を使用する必要があります。これは、Bogdan Burimが述べているように、SameOrginPolicyによるものです。

jQuery.getJSONは、これを簡単な方法で支援します。ページにこのようなスクリプトタグが含まれます。

<script type="text/javascript"
         src="http://example.com/jsonp?callback=parseResponse">
</script>

また、リモートサーバーの応答を変更して、次のようなコールバック変数を含める必要があります。

parseResponse({"bar": "foo", "foo2": "bar2"});

easyXDMもご覧いただけます。

easyXDMは、開発者が同一生成元ポリシーによって設定された制限を簡単に回避できるようにするJavascriptライブラリであり、ドメインの境界を越えてjavascriptAPIを簡単に通信および公開できるようにします。

ウィキペディアにはJSONPに関する素晴らしい記事があります。

于 2012-10-23T10:59:43.117 に答える