[英]using jquery AJAX with node.js, handling the response from the server
[英]jquery ajax not receiving node.js response properly
客戶端代碼:
for(var i =0; i < 1; i++) {
void function(item) {
alert(item);
$.ajax({
url : "/documents/ajax/" + item,
dataType : "text",
success : function(data) {
alert("data");
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error: ' + error.message);
}
});
}(featuredItems.eq(i).text().trim());
}
Node.js代碼:
app.get('/documents/ajax/:id.:format?', function(req, res) {
console.log("Request Received");
res.send("Response");
res.end();
});
使用此代碼,我無法在客戶端收到響應。
如果在節點服務器上執行ctrl-c,則會彈出成功警報。
請幫忙/
更新:
如果我注釋掉以下幾行,那么我會收到正確的答復:
// app.use(express.session({secret: 'secret_key'}));
// app.use(passport.initialize());
// app.use(passport.session());
您正在使用$ .ajax的舊樣式; 閱讀http://api.jquery.com/jQuery.ajax/
否則沒有發布/獲取方法。
如果您認為自己對express有問題,只需在終端上創建新的清晰應用進行測試 : express -s myapp
這是我的$ .ajax代碼:
$('.form-2').on('submit', function(e) {
e.preventDefault();
var data = {};
data.email = $('#email').val().toLowerCase();
data.pass = $('#password').val();
$.ajax({ url: '/login'
, type: 'POST'
, data: JSON.stringify(data)
, contentType: 'application/json'
})
.done(function(data) {
if (data.access == 'logged') ...
});
});
服務器:
app.post('/login', function(req, res, next) {
res.json({ access: 'logged' });
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.