-2

私のコードに従ってください:

    $('#btnOK').click(function(e){
        e.preventDefault();
        $form = $('#testForm');
        dataString = $form.serialize();
        $.ajax({
            type: "POST",
            url: 'https://abc.com/login',
            data: dataString,
            dataType: 'xml',
            success: function( returnData ) {
                alert(returnData);
            }
        });
    });

私のコードはhttp://abc.com/loginページへのajaxリクエストを行うことができず、結果を出しません。ここの間違いは何ですか?

クロスドメインが原因である可能性があります:
私のドメイン:http://xyz.com
ログインドメイン: http: //abc.com/login

4

3 に答える 3

1

私のドメイン:http://xyz.com ログインドメイン: http: //abc.com/login

これはクロスドメインの問題であり、解決できます

  1. あなたのサイトのプロキシ

  2. abc.comサイトからのJsonPサポート

  3. 投稿したいだけで結果が気にならない場合は、フォームとiframeを作成し、フォームのターゲットをそのiframeに設定してから、投稿するだけです(csrf対応サイトでは機能しません)

于 2012-06-01T08:03:45.577 に答える
1

ドメインがクロスオリジンポリシーを処理するように構成されていない限りabc.com、クロスドメインajax呼び出しを行うことはできません

解決策は、ajax呼び出しを、xyz.comデータを送信してから応答を取得するドメインの下のサーバー側プロキシにリダイレクトすることですabc.com(たとえば、を使用してCURL)。

または、abc.comドメインを管理している場合は、適切なヘッダー(Access-Control- *)を送信して、クロスドメイン呼び出しを許可できます。

于 2012-06-01T08:03:47.960 に答える
0

chromeまたはデバッガーを使用してデバッグし、click()関数のエントリにブレークポイントを作成してから、段階的に問題を見つけます。

于 2012-06-01T08:13:19.353 に答える