我试图使用onchange=
从列表框中获取和发布数据,但出现错误Reference Error: Cant find variable: getMessage
getMessage是包含ajax get和post的函数的名称,而我正在gessueing这意味着它找不到该功能由于某种原因。有人知道为什么吗?我的代码如下所示。
<script type="text/javascript">
function getMessage() {
var data = { message : {$("#messageselect").val(); }};
$.ajax({
url: "/message",
type: "GET",
data: JSON.stringify(data),
dataType: 'jsonp'
})
$.ajax({
url: "/message",
type: "POST",
dataType: 'json',
contentType: 'application/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>
最佳答案
函数中的语法错误。试试这个。
function getMessage() {
var data = {
message: $("#messageselect").val()
};
$.ajax({
url: "/message",
type: "GET",
data: JSON.stringify(data),
dataType: 'jsonp'
});
$.ajax({
url: "/message",
type: "POST",
dataType: 'json',
contentType: 'application/json',
success: function (data) {
console.log(data);
},
error: function (err) {
console.log("error fetching message");
}
});
}