服務器:在Heroku上運行的Django 1.4。所有請求都是HTTPS。jQuery的空請求正文JSON ajax請求
我的Ajax調用是這樣的:
var data = {
username: form.find('input[name="username"]').val(),
email: form.find('input[name="email"]').val()
};
$.ajax({
url: '/register',
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'text',
headers: {
'X-CSRFToken': $.cookie('csrftoken')
}
});
偶爾,解析請求主體服務器上的失敗,因爲request.body
完全是空的。這很少見,但是由於我在很多頁面上使用了這個成語,我每週都會看到它幾次。這些請求中大概有2-5%。
CSRF標記頭與其餘部分一起存在,所以看起來只有身體本身缺失。在最近的一個請求中,我注意到了一個CONTENT_LENGTH 2
頭文件,它太短而不能包含真正的請求數據。我想知道添加的是哪裏。
我想幫忙調試一下。我無法看到JSON.stringify
調用返回空字符串的任何方式。這是否合理?如果是這樣,那麼它必須是請求主體要麼在運行中被剝離,要麼在我的Django應用程序中正在做這件事。
任何幫助調試或想法如何重現這將是最受歡迎的。
你有錯誤的JavaScript缺少')'後二val – jcubic
謝謝你。固定。 – DavidM