这是我的 JavaScript
$.ajax({
type: 'GET',
data: {
_rnd: new Date().getTime()
},
url: '@Url.Content("~/Home/RegisterDevice")' + '?name=' + '@Session["username"]' + '&phonenumber=' + $("#phonenumberInput").val() + '&imei=' + $("#imeiInput").val(),
dataType: 'json',
async: 'true',
success: function (data) {
console.log(data);
//$("#regdiv").hide();
//$("#resdiv").append(data);
//$("#resdiv").show();
return false;
}
});
我的 html 有一个触发 javasript 的按钮
<button class="btn btn-success" onclick="RegisterDeviceDetails()">Fortsätt</button>
我的 MVC Controller 有一些逻辑并返回 SUCCESS OR FAIL。
return Json("SUCCESS", JsonRequestBehavior.AllowGet);
我的问题是页面刷新,因此附加响应在刷新时被删除。如何防止刷新?
最佳答案
不要将内联事件处理程序与 jQuery 混合。它将事件注册与事件代码无缘无故地分开,并阻止额外的 jQuery 事件功能工作(多个事件等)
建议向按钮添加 ID 以便于访问:
<button id="register" class="btn btn-success">Fortsätt</button>
然后使用标准 jQuery 事件处理程序:
$('#register').click(function(e){
e.preventDefault();
RegisterDeviceDetails();
});
e.preventDefault()
将停止默认按钮行为。
您还可以在此处使用 return false:
$('#register').click(function(e){
RegisterDeviceDetails();
return false;
});
jQuery 事件处理程序中的 return false
与 e.preventDefault()
和 e.stopPropagation() 的作用相同。
.
success
处理程序中的 return false
不执行任何操作,因为该函数实际上返回得更早。它只是启动了一个异步操作。 成功
稍后才会被回调。
关于jquery - 如何防止ajax get刷新MVC页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32222149/