javascript - ajax 请求空数据

标签 javascript jquery ajax

我正在尝试向服务器发出 ajax 请求。请求发送成功,但请求体中参数不合适。

正文中显示的参数使用浏览器的网络工具:

{"name":"","message":"","time":1464807897670}

名称 <input>消息 <textarea> 字段为空,尽管它们不应该为空。

这是我的 HTML 输入字段:

<div id="writePanel">
    <p>Your Name</p>
    <input id="writeName" type="text">
    <p>Message</p>
    <textarea id="writeArea"></textarea>
    <div id="sendButton">Send</div>
</div>

这是 JS 代码:

$(document).ready(function() {

    var data = {

        name: document.getElementById("writeName").value,
        message: document.getElementById("writeArea").value,
        time: new Date().getTime()
    };

    $("#sendButton").click(function () {
        $.ajax({
            type: "POST",
            url: "message.receive",
            contentType: "application/json",
            data: JSON.stringify(data),
            success: function (response) {
                // ...
            }
        })


        })
})

我错过了什么?

最佳答案

看起来您是在开始时设置值,而不是在按下按钮时设置值。尝试在 ajax 调用之前在 click 函数中设置数据对象中的值:

$("#sendButton").click(function () {

    var data = {    
        name: document.getElementById("writeName").value,
        message: document.getElementById("writeArea").value,
        time: new Date().getTime()
    };

    $.ajax({
        type: "POST",
        url: "message.receive",
            contentType: "application/json",
            data: JSON.stringify(data),
            success: function (response) {
                // ...
            }
    })

})

关于javascript - ajax 请求空数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37576990/

相关文章:

javascript - 如何在立即使用 jQuery 或 JavaScript 粘贴时删除所有空格?

jquery - jQuery : ajaxError always fires last

javascript - 使用 Google App Script 从 HTML 元素解析值?

php - 使用ajax为php发送变量值

javascript - 谷歌分析跟踪对 navigator.geolocation API 的支持?

javascript - 我的 JavaScript 模式无法从触发按钮打开

javascript - 自动填充网格中的值 (ProcessMaker)

javascript - 如何对表进行可选择的限制

javascript - 如何检索加载需要使用 PhantomJS 或其他工具单击鼠标的 ajax 数据

jquery - 每个循环中工作的最后一个元素