如何在jquery中附加带有div标签的html响应(来自ajax请求)?

时间:2012-08-25 17:55:57

标签: ajax jquery-ui jquery

下面是在服务器上点击url并获取html响应的代码片段。我可以看到 firefox调试器内部的响应,但不会显示在div标签中。

$.ajax({
    url: url,
    dataType: 'html',
    data: '',
    type: 'POST',
    success: function(data) {
        //in firefox debugger i can see complete html response inside data 
        $('#displayContent').html(data); // but here, it does not  
        // append the html inside div displayContent. Instead it makes 
        // the current page blank
    }
});​

我没有弄到我在这里犯的错误我是否可以直接将ajax html响应分配给$('#displayContent').html(data)的选择器(在我的情况下为div标签)?

2 个答案:

答案 0 :(得分:5)

不使用html()方法,而是使用append ie。

$('#displayContent').append(data);

或者,如果要将整个内容直接分配给元素,请使用加载方法

$(function(){
   $('#displayContent').load(url);
});

答案 1 :(得分:1)

如果您的页面上有表单标记,并且您尝试使用jQuery异步提交,则您的函数将需要返回false,以防止浏览器处理表单。

示例:

$("form").submit(function () {
  $.ajax(...);
  return false;
});