2012-02-19 22 views
0

私はajaxでページを呼び出そうとしていますが、別のサーバーから呼び出しています。このjsコードは任意のページのブックマークから実行され、私は自分のサーバーからいくつかのデータを取得する必要があります。どうすればこのことができますか?データベースに直接接続することもできますか? クロスドメインAjaxコールJquery

が、私はこのコードを持って:

$j.getJSON(serverUrl+"isLogin.php?callback=?",function(data){ 
//really no need to do anything here, we're just posting data 
//but this will output success 
alert(data); 
}); 

isLogin:

if ($_SESSION['user'] == ''){ 
    echo json_encode(array("isLogin" => "false")); 

} else { 
    echo json_encode(array("isLogin" => "true")); 
} 

どのように私はこれを作ることができますか?私は解決策の割り当てを試みるが、何も働かない。これは、1つは、エラーを言わなかったが、警告が表示されることはありません

おかげ

+1

クロスドメインはセキュリティ上の理由から機能していないと思われます。おそらくサーバー自体から外部JSファイルを試してみてください。 –

答えて

0

AJAX(XMLHttpRequestオブジェクト)セキュリティ上の理由から、同じドメインに制限されています。

あなたはこのについて移動するカップルの方法があります。

あなたのAPIがサポートしている場合は、JSONPを使用することができます。これは現在のAJAXのアプローチと非常によく似ています。 これはjQueryのドキュメントです - http://api.jquery.com/jQuery.getJSON/

もう一つのオプションは、ローカルプロキシを作成することです。これはもう少し深いですが、完全にコントロールできます。 これはいい記事です - http://developer.yahoo.com/javascript/howto-proxy.html

+0

サーバが正しく設定され、クライアントがそれをサポートするように設定されている場合、XHR2はそのクロスソースリソース共有(CORS)http://www.html5rocks.com/jp/tutorials/file/xhr2/#で使用できます。トココア –

関連する問題