使用jquery ajax时遇到html()问题

时间:2013-07-16 06:41:13

标签: jquery ajax

load.php

<h2>Envato is 3!</h2>

的index.php

<input type="button" value="load" id="load_basic" />
<div id="result"  class="functions">
</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
</script>
<script type="text/javascript">
    $.ajaxSetup ({
        cache: false
    });
    var ajax_load = "<img class='loading' src='img/load.gif' alt='loading...' />";

//  load() functions
    var loadUrl = "ajax/load.php";
    $("#load_basic").click(function(){
        $("#result").html(ajax_load).load(loadUrl);
        console.log($("#result").html());
    });
</script>

在前端,当我点击按钮时,在chrome-&gt;控制台中显示:

<img class="loading" src="img/load.gif" alt="loading...">  

问题:

  1. 为什么不显示:<h2>Envato is 3!</h2>因为.load()已将内容放入#result

  2. console.log($("#result").html());显示结果:<img class="loading" src="img/load.gif" alt="loading...">,但为什么在前端,当我使用firebug时,看不到img元素:load.gif?

1 个答案:

答案 0 :(得分:2)

如果要使用AJAX调用的结果,则必须在回调函数中执行此操作:

$("#load_basic").click(function(){
    $("#result").html(ajax_load).load(loadUrl, function() {
        console.log($("#result").html());
    });
});