情景:
用户访问页面
Jquery
开始向ajax
请求后端代码
304 error
。 Jquery应该再次点击请求。用户点击以下button
代码
<td colspan="3"><%= link_to 'Show state', simulation, :class => 'btn btn-primary' %></td>
将导航至
我在这里写了jquery
代码来制作Ajax
请求
<script>
$(function() {setInterval(function(){ $.get("/posts/<%= @post.id %>"); }, 5000);
});
Dom needed to be changes after every `Ajax` response in same views (show.html.erb)
<span id="post-data">
<table class = 'table table-hover'>
.....
</table>
</span>
$("#post-data").html(" <table> ... </table>")
如何修复这些错误。任何帮助都是可以理解的,我不是核心的javascript
。
我在找什么?
jquery
事件的方法jquery
的方法。答案 0 :(得分:2)
当它第二次发送时,它将从浏览器返回缓存的内容, 因为它应符合规范:
对于由用户代理导致的304 Not Modified响应 生成的条件请求用户代理必须像服务器一样 给出了200 OK的适当内容回复。
jQuery不会在这里生成任何回复。而304-header只是一个HTTP头。 HTTP AJAX请求是普通的HTTP请求,可能会返回任何有效的标头。如果服务器以304响应,则XHR对象将仅提供来自服务器的本地缓存响应。不过,它对用户来说完全透明。
您可以在ajax请求中使用cache参数,然后它可以工作:
$.ajax({
url: ".....",
dataType: "json",
type: "GET",
cache: false,
contentType: "application/json",
success: function (data, textStatus) {
console.log("RECV: " + data);
}
});