javascript - 无法让 jquery AJAX 工作 Node js Express

标签 javascript jquery ajax node.js express

我一直在尝试让ajax在node 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>

最佳答案

我猜这是代码中的拼写错误之一:

var = data $("#messageselect").val()
//--^^--------------------------------worng way to assign.
<小时/>

jQuery.ajax() 需要一个对象来发送:

var data = { data : $("#messageselect").val() };

在服务器上您可以使用req.body来获取发布的数据:

 console.log(req.body.data);

注意:

为此,您需要有 body-parser,因此请确保将其包含在上面的代码配置中。

关于javascript - 无法让 jquery AJAX 工作 Node js Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34493394/

相关文章:

javascript - 如何在 $.each(?

javascript - 由于 Heroku 上的 Rails 应用程序发生 CORS 错误,无法进行跨域 ajax 发布

javascript - 如何根据 beforesend() 函数的返回值更改 ajax 函数的 url?

javascript - 使用 Ajax 控制工具包使用 POST 请求时出现 Ajax 错误

javascript - 如何将 Redux 与超大数据集和 IndexedDB 集成

javascript - Promise 链当时不可用

jquery - 使用ajax显示数据库中的图像

Javascript/Jquery - 定位最接近的相关 block 以在类似卡片流中显示内容

ajax - Grails-无法提交base64 img

javascript - knockout.js 可以等到 onClick 才绑定(bind)吗?