来自$ .Ajax调用的返回值未显示在页面源中

时间:2011-04-27 16:42:22

标签: jquery

有人可以告诉我为什么$ .Ajax调用的返回值没有显示在页面源中 我是jQuery的新手。我只是从$ .ajax函数返回一个字符串,并将该字符串值显示为标记或

标记的HTML。

这是我的jquery代码 ..................................................

$(document).ready(function() {
$.ajax({
    type: "POST",
    url: "AdvService.asmx/GetValuesTesting",
    data: "{}",
    context: document.body,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: OnSuccess,
    error: OnError
});
   function OnSuccess(data, status) {

   alert(data.d);
    $('#dataInTag').html(data.d);
}
function OnError(request, status, error) {
    alert(request.status);
}
    });

* html部分

<pre>
    <div>
        <p id="dataInTag"></p>
    </div>
    </pre>

* WebMethod **

[WebMethod]
    public string GetValuesTesting()
    {

        string Details = "<b class=\"testClass\">returned data from a WebMethod</b>";
        return Details;
    }

如何将jquery click事件分配给此返回值(这是一个带有class =“testClass”的b标记)。

警报提示正常,但返回的值显示在页面上,但未显示在页面源中。 请帮忙... 并提前感谢...

2 个答案:

答案 0 :(得分:2)

您不应期望在页面源中看到AJAX调用的结果。 AJAX是动态的,只在内存中。

您可以查看是否使用调试器。例如,如果您使用chrome并查看开发人员工具页面,它将显示包含AJAX调用所做更改的页面源。

答案 1 :(得分:0)

当您使用.html()方法时,如果您浏览页面的源代码,则不会看到修改后的HTML。 DOM已正确修改,但是当您查看源代码时,您会看到初始版本。幸运的是,用户可以看到浏览器显示的内容,而不是源代码。如果您使用FireBug检查DOM,您将看到更改。