我想使用ajax發送一些表單數據到服務器,讓它檢查並得到一個結果回到客戶端。目前,我沒有收到任何數據。我不明白我必須改變才能使其工作。快速:從服務器獲取ajax響應
服務器端:
在我的快遞app.js
:
var login = require('./routes/login');
app.use('/login', login);
在我login.js
路線:
router.post('/', function (req, res) {
var loginObject = req.body;
console.log(loginObject);
var success = false; //This is just for testing!!
if (success) {
req.session.user = loginObject.email;
req.session.userID = 1; //Stubbing
res.render('home');
} else {
res.json({'success': false});
}
});
客戶端:
在我index.jade
文件:
script(src='/javascripts/login_window.js')
在我login_window.js
文件(使用jQuery驗證插件):
$('#loginForm').validate({
rules: {
modalMail: {
required: true,
email: true
},
modalPass: {
required: true,
minlength: 8
}
},
errorPlacement: function(error, element) {
element.closest('div.form-group').removeClass('has-success').addClass('has-error');
},
success: function(label, element) {
$(element).closest('div.form-group').addClass('has-success').removeClass('has-error');
},
submitHandler: function (form) {
$.ajax({
url: '/login',
type: 'POST',
dataType: 'json',
data: form,
contentType: 'application/json',
complete: function() {
console.log('process complete');
},
success: function(data) {
console.log(data);
console.log('process success');
},
error: function() {
console.log('process error');
}
});
}
});
當我嘗試,我得到在控制檯窗口中絕對沒有。我能做什麼?
這就是我得到:
看到browswe網絡選項卡,請求被髮送或沒有? – 2014-12-13 13:24:16
對頁面的GET請求具有狀態304(因此未更改)並且POST請求具有狀態200(OK)。數據在服務器上被接收,因爲我可以在那裏顯示數據。 – JNevens 2014-12-13 13:27:05
什麼是POST請求的響應? – 2014-12-13 13:27:47