【发布时间】:2015-12-28 12:16:35
【问题描述】:
我一直在尝试让 ajax 在节点 js 上工作。这是第一次使用 ajax,所以我一直在尝试使用控制台对其进行测试以检查它是否有效,但是每次尝试时我都没有在控制台上得到响应。
这是我的代码。
<script>
function getMessage() {
var data = $("#messageselect").val()
$.ajax({
url: "/message",
type: "POST",
data: JSON.stringify(data)
dataType: 'json',
success: function(data) {
console.log(data);
}
error : function(err)
console.log("error fetching message");
});
}
</script>
服务器
app.post('/message', function(req, res) {
console.log(JSON.stringify(req.body));
Message.findOne({ 'page.message' : req.data }, function(err, message) {
if(err)
throw err;
res.send(message);
});
});
html
<form method="POST">
<select multiple="multiple" class="messageselect" onchange="getMessage()" id="messageselect">
<% if(message) { %>
<% for(i=messagecount-1;i>=0;i--) { %>
<option value="<%= message[i].page.message %>">From: <%= message[i].page.username %> Message: <%= message[i].page.messagetitle %></option>
<% } %>
<% } %>
</select><br><br><br>
</form>
【问题讨论】:
-
如果您在本地引用 jquery,请确保启用 express 静态中间件
-
第一个块中的当前代码对于
error回调有语法错误。 -
更具体地说,究竟是什么不起作用?
标签: javascript jquery ajax node.js express