【发布时间】:2013-08-10 11:47:52
【问题描述】:
我正在尝试在 jQuery AJAX 调用后刷新页面。在传输所有数据之前,页面似乎正在刷新(仅有时)。谁能通过下面的这个 sn-p 看出原因。我在成功函数中有刷新代码所以我很困惑。
我尝试添加async = false,但似乎也不起作用。
function sendRating(rating, reload_on_return) {
$.ajax({
type: "POST",
dataType: 'json',
url: window.url_root + cid + "/",
data: {
"rating": rating.r2 / 100.0
},
success: function(data) {
if (data.hasOwnProperty('success')) {
console.log("data was sent!");
if (reload_on_return) {
location.reload();
}
}
},
error: function() {
console.log("Data didn't get sent!!");
}
})
【问题讨论】:
-
为什么不直接从您的 POST 中返回您需要在页面上更新的数据,或者调用一个 GET...回发只是让用户感到沮丧。
-
您有日志要显示吗?是什么让您说并非所有数据都没有传输?
-
这看起来是正确的。是否可能是其他代码导致了刷新,或者刷新实际上是在数据返回之后发生的?
-
如何调用 sendRating?是在表单上提交吗?
-
@Jonah 该页面正在刷新,但它应该从服务器获取新数据,但这并不总是发生。 (但它会发生一段时间)
标签: javascript jquery ajax refresh