0

我曾经对 HTML 元素使用以下 Ajax 代码<a class="getContent" href="/content">...</a>

$('.getContent').click(function() { 
  var url = $(this).attr('href'); 
  $('#content').load(url); 
  return false; 
});

如果我想根据服务器返回的值刷新整个页面:

$('.getContent').click(function() { 
  var url = $(this).attr('href');
  if (url == "success") {
    document.location.reload(true);
  }else{
    $('#content').load(url);
  }
  return false; 
});

当然,if 部分只是假设。当我使用 python 开发 Google App Engine 时,服务器端脚本可能是:

if ...:
  self.response.out.write('success')
else:
  render(self, 'some_html_file.html')

我该怎么做?谢谢。

4

1 回答 1

1

尝试:

var menuId = $("ul.nav").first().attr("id");
var request = $.ajax({
  url: url, //your url here
  type: "POST",
  data: {id : menuId},
  dataType: "html"
});

request.done(function(msg) {
  $('#content').html( msg );
});

request.fail(function(jqXHR, textStatus) {
  //reload here
});

来源:http ://api.jquery.com/jQuery.ajax/

于 2013-07-22T10:44:29.960 回答