我正在研究鉻擴展。目前,它只是檢查用戶是否存在。AJAX保持檢測失敗,但沒有顯示錯誤
在插件彈出窗口中有一個窗體。用戶使用他的用戶名和密碼填寫此表單,並將其發送到服務器。
用戶在查看發現,一切看起來正常運行,但AJAX出於某種原因返回失敗。
這是一個觀點:
@csrf_exempt
def api_authentication(request):
if request.method == 'POST':
login = request.POST.get('login')
password = request.POST.get('password')
if login and password:
username = login
if '@' in login:
username = mainapp_models.User.objects.get(email=login).username
if not username:
return JsonResponse({'success':0})
user = authenticate(username=username,password=password)
print user # IT's ok, user is found
if user:
return JsonResponse({'username':user.username,
'success':1})
return JsonResponse({'success':0})
這是AJAX:
$(document).ready(function() {
$('#login-button-id').click(function() {
var login = $('#input-email-id').val();
var password = $('#input-password-id').val();
$.ajax({
url: 'http://127.0.0.1:8000/api/authenticate',
type: 'POST',
data: {
'login': login,
'password': password
},
success: function() {
alert('success');
},
error: function() {
alert('failure');
}
})
})
});
而且JsonResponse
看起來是這樣的:{'username': u'milano', 'success': 1}
當我填寫表格併發送數據,user
是發現但'失敗'被警告。你知道有什麼問題嗎?
編輯:
警報安迪的回答是:
由於console.log
沒有工作,我改成了警報:
error: function (jqXHR, textStatus, errorThrown) {
alert("JQuery failed: " + textStatus + " with error thrown: " + errorThrown);
alert(jqXHR.responseText);
}
警報:
EDIT2
終於找到了控制檯日誌:多個
首先有一個錯字你的發佈代碼,'uccess'而不是'success'。然後,當錯誤callabck被解僱時,你會得到哪個錯誤?! –
我嘗試使用下面答案中的代碼檢查錯誤。它不會記錄任何內容,因此我將日誌更改爲警報。結果在問題的底部。 –
我找到了控制檯日誌。我不得不點擊插件 - 檢查插件,並刪除所有警報,因爲他們刪除檢查窗口。我在問題的底部添加了控制檯日誌。 –