jquery Ajax转到空白页面

时间:2013-07-07 11:54:20

标签: jquery ajax load

jquery很强大,但有很多不同的问题。 我有这个代码:

 $(
     function () {
         // Get a reference to the content div (into which we will load content).
         var jContent = $("#content");

         // Hook up link click events to load content.
         $("ul li a").click(
             function () {
                 var jLink = $(this);

                 // Clear status list.
                 $("#ajax-status").empty();

                 // Launch AJAX request.
                 $.ajax({
                     // The link we are accessing.
                     url: jLink.attr("href"),

                     // The type of request.
                     type: "GET",

                     // The type of data that is getting returned.
                     dataType: "html",


                     error: function () {
                         ShowStatus("AJAX - error()");

                         // Load the content in to the page.
                         jContent.html("<p>Page Not Found!!</p>");
                     },

                     beforeSend: function () {
                         ShowStatus("AJAX - beforeSend()");
                     },

                     complete: function () {
                         ShowStatus("AJAX - complete()");
                     },

                     success: function (strData) {
                         ShowStatus("AJAX - success()");
                         jContent.html($(strData).find('#bglogin').html());
                     }
                 });

                 // Prevent default click.
                 return (false);
             }
         );

     }
 );

当我在我的博客上使用它时会转到一个空白的白页。我多次改变它,但它不起作用。但是,当我在空白页面上使用它时,(仅将此代码用于博客)它的工作原理和新问题。 我们在这个页面中思考:/ login 有这些标签:

<div id="login">
   <div id="bglogin">
     <p>hello</p>
   </div>
</div>

当我调用获得(jContent.html($( strData ).find('#bglogin').html());) id的jquery #bglogin时,它会获取代码,但是,当我想要#login id时, 它没有给我任何东西。

2 个答案:

答案 0 :(得分:0)

不要认为它的问题,但你不应该使用reaturn false。这将是正确的方法

$("ul li a").on('click', function (event) {
    event.preventDefault(); // this will stop default behaviour.
    var jLink = $(this);
});

答案 1 :(得分:0)

使用这个html:

<div id="login">
   <div id="bglogin">
     <p>hello</p>
   </div>
</div>

这个javascript

$(strData).find('#login').html()

没有给你任何东西,因为find方法会查找子元素,在这种情况下你的根元素是#login。您正在寻找child元素中标识为#login的{​​{1}},但代码无法找到它。这就是为什么它不起作用。在这种情况下,只需写下:

#login