0

CrossDomainの問題を解決するために、JSONPをデータ型としてJQuery ajax の投稿を使用して います。これは私のコード実装です。

$.ajax({
     statusCode: {
        200: function() {
          alert("page found");
        },
        302: function() {
              alert("page redirect");
            }
      },
      url: "http://exemple.com/j_spring_security_check",
      type: "post",
      dataType: 'jsonp',
      jsonp: false,
      jsonpCallback: 'localJsonpCallback',
      contentType: 'application/json; charset=utf-8',
      data: {ajax: true, username: 'user1', password: 'pass'},
      success: function(){
          alert("success");
      },
      error:function(jqxhr, textStatus, error){
          alert("textStatus : " + textStatus + "\n error" + error);
      }   
    }); 

function localJsonpCallback(data) {
alert("localJsonpCallback : " + data);
}

問題は、このメッセージのエラーが発生していることです: errorParsing 、 localJsonpCallback コールバックが呼び出されませんでした。
クライアントが次のような形式に参加していたため、この種のメッセージが表示される理由はわかっています。
localJsonpCallback({"success":1});
しかし、私はそのような結果を得ています: {"success":1}

問題は、このメソッドを春のセキュリティでオーバーライドする方法を知っているため、コールバック メソッドがサーバーに実装されていないことです。呼ばれないのはそのためです。そして、私はサーバーにアクセスできません。

サーバーにコールバック関数を実装せずに JSONP 応答を取得する方法はありますか??

PS: エラーaccess-control-allow-origin not allowed のようなこれを回避するには、JSONP を使用する必要があります。

4

1 に答える 1