Jquery 有没有办法发送包含整数和字符串的表单数据?

Jquery 有没有办法发送包含整数和字符串的表单数据?,jquery,json,ajax,html,forms,Jquery,Json,Ajax,Html,Forms,使用ajax和jQuery发送表单时,通常使用方法$(this).serialize()或$(this).serializeArray()将表单转换为JSON对象。问题是JSON中的所有值都是字符串类型。我有一个表单,其中输入有数字: <label for="name">name:</label> <input class="w-input input" id="name" name="name" placeholder="Enter your name" type

使用ajax和jQuery发送表单时,通常使用方法
$(this).serialize()
$(this).serializeArray()
将表单转换为JSON对象。问题是JSON中的所有值都是字符串类型。我有一个表单,其中输入有数字:

<label for="name">name:</label>
<input class="w-input input" id="name" name="name" placeholder="Enter your name" type="text" required>

<label for="age">Age</label>
<input class=input" id="age" name="age" placeholder="Enter your age" type="number" required>
名称:
年龄

如果需要此行为,请使用以下自定义代码:

JS


如果需要此行为,请使用以下自定义代码:

JS


不是真的。。。它导致了什么具体问题?可能会添加一个具有输入类型的数据属性,以便您可以在服务器上解析它?不太可能。。。它会导致什么具体问题?可能会添加一个具有输入类型的数据属性,以便您可以在服务器上对其进行解析?非常欢迎,这是什么变化,以便具有相同问题的任何人都可以知道最终答案?非常欢迎,这是什么变化,以便具有相同问题的任何人都可以知道最终答案?
function serialize(form_id) {
    var inputs = document.getElementById(form_id).getElementsByTagName("input");
    var result = []
    for (var i = 0; i < inputs.length; i++) {
        var value = inputs[i].type == "number" ? inputs[i].value * 1 : inputs[i].type;

        var obj = {
            "value": value
        };
        if (inputs[i].name)
            obj["name"] = inputs[i].name;
        result.push(obj);
    }
    return result;
}
<form id="myform" name="myform">
    <label for="name">name:</label>
    <input class="w-input input" id="name" name="name" placeholder="Enter your name" value="Amr" type="text" required>

    <label for="age">Age</label>
    <input class="input" id="age" name="age" placeholder="Enter your age" value="19" type="number" required>
</form>
serialize("myform");