我不太确定如何清楚地表达我的问题 --
我在一个复选框上有一个简单的 ajax 请求,该请求将值发送到数据库。
如果 ajax 请求因任何原因失败,我希望阻止该复选框发生更改。目前的工作方式是,如果请求失败,我第一次单击它时它不会改变。但如果我再次点击,即使请求仍然失败,它也会改变。
这是代码:
<script type="text/javascript">
$(document).ready(function(){
$("#favorite").change(function() {
if($(this).is(":checked")) {
$.ajax({
url: 'favorite.php',
type: 'POST',
data: { file_id:$(this).attr("name"), strState:"1" },
success: function() { // this happens after we get results
$("#favWrap").empty();
$("#favWrap").html("<input id='favorite' name='165' type='checkbox' checked/><label></label>");
},
error:function(){
$("#favWrap").empty();
$("#favWrap").html("<input id='favorite' name='165' type='checkbox' /><label></label>")
}
});
} else {
$.ajax({
url: 'favorite.php',
type: 'POST',
data: { file_id:$(this).attr("name"), strState:"0" },
success: function() { // this happens after we get results
$("#favWrap").empty();
$("#favWrap").html("<input id='favorite' name='165' type='checkbox' /><label></label>");
},
error:function(){
$("#favWrap").empty();
$("#favWrap").html("<input id='favorite' name='165' type='checkbox' checked/><label></label>")
}
});
}
});
});
</script>
非常感谢任何帮助!
最佳答案
如果响应出现错误,您只需使用
选中
或取消选中
复选框即可
$('#favorite').attr('已检查', true);//检查它
$('#favorite').attr('已检查', false);//取消选中它
关于javascript - Ajax 错误检查 - 如果 AJAX 请求失败,如何防止内容更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29262975/