2017-01-19 12 views
0

AJAX処理を表示するために別のDIV内に画像を含むDIVを作成しようとしています.JAJAX "beforeSend"で処理しています。何が起こるかは、画像がAJAX呼び出しの後でのみ可視になるということです。私はDOMを検査しました。挿入は "beforeSend"で起こっていますが、AJAX呼び出しの後に表示されます。以下はコードの一部ですjquery中に要素の挿入が反映されないAJAX

options.beforeSend = function(jqXHR, settings){ 
    $('#'+_divId).prepend(jQuery('<div/>', { 
     class : 'ajax-progress' 
    }).append(jQuery('<img/>').attr('src',"/images/ajax.gif"))); 
} 

私は画像のダウンロードに問題があると考えました。だから私は "表示:なし"とjQueryを使用して分離し、 "beforeSend"に挿入してDOMのdivを持ってみてみました。使用しません。

$('#'+_divId).prepend(
$('#imageDiv').detach()); 

"ajaxStart"では実行できません。

+0

この機能が特定のページおよび機能用である場合は、なぜbeforeSendを使用しているのですか。手動でAJAXコールの前にこれを追加して追加することは可能ですか?通常はbeforeSendを使用して、追加のヘッダーやその他の情報を要求に追加します。 –

+0

はページに固有のものではありません。beforeSendにいくつか追加しました。これは新しいものです。そうでなければ各画面と私たちがする必要がある各AJAX呼び出しを一般的な方法でしようとしています。 – june

答えて

-1

私は理由がある。属性 "async:false"を持つAJAX呼び出しでは機能しません。

AJAXが同期されると、呼び出しが完了するまでDOMの更新が中断されます。

関連する問題