0

既知のユーザー名とパスワードを使用して Web サイトにログインし、その Web サイトの特定のユーザー アカウントについてサイトから表示されるデータを取得しようとしています。この目的のために jQuery と Ajax を使用しています。これは私のコードです:

$.ajax({
async: false,
cache: false,
type: 'POST',
dataType: 'json',  // json...just for example sake
data: ({
    'login_username': username,
    'secretkey': password
}),
url: 'https://mail.someserver.com/src/redirect.php',
success: function (data) {
    alert("SUCCESS!")
    if (data === '1') {  // server returns a "1" for success
        // success!
        // do whatever you need to do
    } else {
        // fail!
    }
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
    // something went wrong with the request
    alert("Failed!");
}

});

私はすでにウェブ上で検索を行っており、ブラウザがセキュリティの問題を防ぐためにクロスサーバーの ajax 呼び出しを許可していないことを知っていますが、「jsonp」を dataType として使用しようとしましたが、役に立ちませんでした:(

それで、私は何を間違っていますか?

4

2 に答える 2

0

同じオリジン ポリシーurlに違反していないことを確認してください。つまり、クライアントからのリクエストは、別のドメインのサーバーからデータをリクエストできません (このルールには例外があり、名前はCORSですが、変更を加える必要があります)。話しているサーバー/アプリケーションに)。

問題の解決策は、サーバー側のスクリプトからリクエストを作成し、アプリケーションを Web に提供しているのと同じマシンに基づいて、クライアント アプリケーションにそのスクリプトをクエリさせることです。

于 2013-01-26T21:14:46.690 に答える
0

私の過ちは上記のコードではなく、マニフェスト ファイル (Google Chrome 拡張機能を作成しています) に適切なアクセス許可 (https://*) が設定されていなかったことです。

欲求不満でごめんなさい!

于 2013-01-27T20:38:15.470 に答える