javascript - 使用ajax向node.js进行AJAX查询获取和发布数据时出现错误

标签 javascript jquery ajax node.js

我尝试使用 onchange= 从列表框中获取和发布数据,但收到错误引用错误:无法找到变量:getMessage getMessage 的名称包含 ajax get 和 post 的函数,我猜测这意味着它由于某种原因找不到该函数。有谁知道为什么?我的代码如下所示。

<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");
        }
    });
}

关于javascript - 使用ajax向node.js进行AJAX查询获取和发布数据时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34497605/

相关文章:

javascript - 尝试理解 Javascript 脚本的执行顺序。尝试过异步、延迟、动态加载脚本,但都有不可预测的结果

javascript - Ionic 启动 <项目> <模板> 卡住

jquery ajax 响应未显示在 jqueryui 对话框窗口上

javascript - 如何在wordpress中实现签名板

javascript - 事件倒序

javascript - 等待所有 ajax 调用在 selenium webdriverjs 中终止

jquery - 使用ajax获取youtube oembed json

php - 检查用户名是否存在 - 跨浏览器问题!建议?

javascript - VueJS2 和 Window 对象 - 如何使用?

javascript - jQuery click 函数同时触发