javascript - 无法使用 jquery 从表单值发送 json 数据

标签 javascript jquery json ajax

我正在创建一个 json 对象,在其中从表单中提取字段,然后使用 jquery Ajax POST 发送数据。但是,当我在按提交后看到我的网络选项卡时,我基本上得到了 json header ,但是除了我硬编码的值之外,应该从表单中提取的所有值都是空白的。请注意,我的 json 数据还有一个 room 类型的嵌套 json。

下面是我的 jquery 部分:-

 var formData={
        "checkInDate": $("#checkInDate").val(),
        "checkOutDate": $("#checkOutDate").val(),
        "roomsWanted":$("#roomsWanted").val(),
        "room":{
            roomType: $("input[name=roomType]:checked").val(),
            roomProperty:"non-smoking"
        }

    };
$("#checkAvailabilityForm").submit(function(e){
        e.preventDefault();

        $.ajax({
            type: 'post',
            url: '',
            dataType: 'json',
            data: JSON.stringify(formData),
            contentType: 'application/json',
            success: function(dataRecieved){
                var dataRecieved= $.trim(dataRecieved);
                if(dataRecieved === ''){

                }else{

                }
            }

        });
    });

最佳答案

formData 声明移至 .submit() 函数内。现在页面加载的方式是,var formData = ... 立即设置 formData 的值(设置为新的空表单的值)。

您的代码应如下所示:

$("#checkAvailabilityForm").submit(function(e){
    e.preventDefault();

    var formData={
        "checkInDate": $("#checkInDate").val(),
        "checkOutDate": $("#checkOutDate").val(),
        "roomsWanted":$("#roomsWanted").val(),
        "room":{
            roomType: $("input[name=roomType]:checked").val(),
            roomProperty:"non-smoking"
        }
    };

    $.ajax({
        type: 'post',
        url: '',
        dataType: 'json',
        data: JSON.stringify(formData),
        contentType: 'application/json',
        success: function(dataRecieved){
            var dataRecieved= $.trim(dataRecieved);
            if(dataRecieved === ''){

            }else{

            }
        }

    });
});

关于javascript - 无法使用 jquery 从表单值发送 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279725/

相关文章:

json - typescript :导入导入json文件的js库

javascript - 使 onclick 只影响该元素,而不影响它的子元素

javascript - Dojo JsonRest Promise -- 异步调用的顺序

java - 如何使用 @ResponseBody 从 Spring Controller 返回 JSON 数据

php - 在 codeigniter 中的 ajax 和 Controller 之间传递数据

javascript - 如何在 php 中登录我后获取上次登录管理员的时间和日期

javascript - 字符串是小于还是大于包含相同值的整数?

javascript - 如何检查深层嵌套的 Prop

javascript - 为什么在 Ant Design 表单中自定义输入控件无法正确验证?

javascript - 图像随鼠标位置移动 - 框问题?