3

クリックするとリクエストがWebサーバーに送信され、実行が成功するとリダイレクトが発生するリンクがあります。これには ajax を使用しましたが、HTTpFox で NS_Binding_Aborted エラーが発生します。コード:

<a id="lnkredirect" href="javascript:void(0);" onclick="myfunction();">Some text</a>

ajax コード:

function myfunction(){
 $.ajax({
       url: Web server Url,
       type: 'POST',
       datatype: 'JSON',
       timeout: 20000,
       data: null,
       success: function{ $("#lnkredirect").attr('href','redirection link...');},
       error : function{ $("#lnkredirect").attr('href','redirection link...');}
 )};
 return true;
}

リダイレクトは発生していますが、Firefox で NS_Binding_Aborted エラーが発生しています。成功のシナリオとエラーのシナリオの両方で、リダイレクトが発生するはずですが、なぜ NS_Binding_Aborted が発生するのか、私にはわかりません。NS_Binding_Aborted エラーは、1 つのイベントが以前に実行されていたイベントをキャンセルしている場合にのみ発生しますが、リンクの href を既に抑制し、ajax 要求が実行されるとそれをリダイレクトしているため、サーバー呼び出しは 1 つだけで、NS_Binding_Aborted は発生しません。どこが間違っているのか教えてください。

4

2 に答える 2

0

これは、リクエストを中止する別のリクエストが原因です。通常、あなたの目標がデータのリロードまたはすべてのページのリクエストを終了することであり、同期されたリクエストではない場合、少しノベルエラーが発生します。
この場合、return 文が問題で、return 文は成功セクションにある必要があります。

于 2013-05-27T19:20:59.773 に答える