2

下面是在服务器上访问 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 响应分配给选择器(在我的情况下是 div 标签)$('#displayContent').html(data)吗?

4

2 回答 2

5

而不是使用 html() 方法使用追加即

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

或者,如果您想将整个内容直接分配给您的元素,请使用 load 方法

$(function(){
   $('#displayContent').load(url);
});
于 2012-08-25T18:02:46.133 回答
1

如果您的页面上有一个表单标签,并且您尝试使用 jQuery 异步提交它,您的函数将需要 return false,以防止浏览器处理该表单。

例子:

$("form").submit(function () {
  $.ajax(...);
  return false;
});
于 2012-08-25T18:12:50.150 回答