這是我的代碼如何jQuery中的Ajax表單提交加入錯誤處理
<script type="text/javascript">
$(document).ready(function() {
$('#spc-comment-flag-form').submit(function() {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(data) {
if(data['error'] == false) {
var msg = 'We got your flag. Our moderators will now look into it. You may close the window now!';
$('#spc-comment-flag-response').html(msg);
}
else {
$('#spc-comment-flag-response').html(data);
}
},
});
return false;
});
});
</script>
編輯
在服務器端的是這樣的:
@csrf_protect
@login_required
def flag(request, comment_id, next=None):
if not request.is_ajax():
raise Http404
data = {}
if request.method == 'POST':
...
data = simplejson.dumps(data)
return HttpResponse(data, mimetype="application/javascript")
else:
raise Http404
我基本上服務器並且很少要寫JS。 我發送了「錯誤」:如果錯誤消息和「錯誤」錯誤,則返回true:如果服務器上沒有錯誤,則返回false!
我不知道爲什麼在上面的代碼條件邏輯不工作! 任何人都可以幫我解決它嗎?
阿勒?或者它只是HTML – bipen
你回送什麼樣的數據? JSON('「錯誤」:true'不是有效的JSON)?如果是這樣,你是否設置了正確的「Content-Type」響應頭?否則,jQuery將不會知道它是JSON,並且不會自動解析它。然後你必須設置dataType:'json'選項。 –
發送響應爲JSON – Surya