6

シンプルなajaxローダーを使用してワードプレスのコンテンツを取得しています。

$("#page_preview").load("ajaxloader/", function(response, status, xhr) {
      if (status == "error") {
        alert("Sorry but there was an error");
      }
      else
      {
          $('#page_preview').fadeIn(300);
      }
    });
return;

グーグルマップが埋め込まれている特定の投稿をロードすると、明らかに何かがうまくいかないが、ステートメント内に入る代わりに、 firebugifはそれがこのコードを超えていることを示しています。どちらでもないifか、elseヒットしません。

Eclipseデバッガーを使用すると、ページが正常に読み込まれることがわかりましたが、データが.load()メソッドに返されると、最後のデータが壊れます。

何が起こっているのかについてのアイデアはありますか?

4

3 に答える 3

4

どのように

<script>
    // as of jQuery 1.5.x ++
    var pagePreview = $("#page_preview");
    $.get("ajaxloader/").success(
        function(response, status, jqXhr) {
            alert("Success!");
            pagePreview.empty();
            pagePreview.append(response);
            // i feel you need to parse the response for the google map div, and perform another $.get() of the google url?
        }).error(function(response, status, jqXhr) {
        alert("These are not the droids you are looking for. move along.");
    }).complete(function(response, status, jqXhr) {
        alert("Complete!");
    });
</script>

#どうして

jQuery.load()でドキュメントが表示されます。.load はこれと同等です

$.get(url, data, success ) とほぼ同じですが、グローバル関数ではなくメソッドであり、暗黙的なコールバック関数がある点が異なります。成功した応答が検出されると (つまり、textStatus が "success" または "notmodified" の場合)、.load() は一致した要素の HTML コンテンツを返されたデータに設定します。

登録して値$.ajax( complete:function(responseText, textStatus, XMLHttpRequest)){}); を確認する必要がありtextStatusます。OK の場合は、$('selector')自分でデータを宛先にロードします。または.load()、chrome (ctrl + shift + j) でネットワーク xmlHttpRequests を監視するか、firebug でいくつかのネットワーク タブを監視して修正し、「url」値で問題をデバッグします。$('selector').load( 'url', function(response, status, xhr){})

于 2011-09-15T16:12:35.297 に答える
0

$.ajax関数を使用します。

    $.ajax({
      url: "test.html",
      context: document.body,
      success: function(){
        //when Successfully executed
      },
      error: function(){
        //When Error Fires
      }
    });
于 2011-09-25T08:20:53.713 に答える
0

これをデバッグする簡単な方法は、firebug コンソール タブで XHR リクエストを確認することです。リクエスト URL に問題があり、データが返されないか、エラーが発生する可能性があります。firebug を使用すると、サーバーが何を返すかを簡単に確認できます。

.load は成功時にのみロードされるため、追加できます

console.debug("In .load function"); 

関数の開始時に。繰り返しますが、firebug で確認すると、.load コールバックが実際に起動されているかどうかを確認できます。

于 2011-09-16T06:31:53.413 に答える