特定字段id的Ajax POST数据


Ajax POST Data for certain field id

我试图发送一些数据到ajax脚本,通常我创建一个表单标签,并给表单一个id,像这样:

<form id="myForm">

然后在ajax中添加以下内容:

data: $('#myForm').serialize(),

这将从我的表单发送所有表单数据。然而,这次我试图在没有表单标签的情况下运行它,相反,我有两个具有唯一id的字段,像这样:

<input type="text" id="first-name" name="first-name">
<input type="text" id="last-name" name="last-name">

我只想从这两个字段发送数据。因此,我将以下代码放入:

data: $("#first-name,#last-name"),

它似乎工作,但想知道这是否是正确和兼容的方式来做这件事。

谢谢

您还应该使用serialize()函数,如

$("#first-name,#last-name").serialize()
https://jsfiddle.net/j2zn76o4/1/

您可以动态地创建对象,如下所示:

...
data: { 
     'first_name': $('#first_name').val(),
     'last_name': $('#last_name').val()
},
...

$.ajax()可以自动转换数据,如果不是字符串,这就是为什么你不应该在这里使用serialize()

您必须以序列化字符串的形式发送数据:data: $("#first-name,#last-name").serialize();

jQuery API

数据类型:普通对象或字符串与请求一起发送给服务器的普通对象或字符串。

在这种情况下,我认为您可以使用PlainObject作为unixarmypsylogic表示。

您不需要使用serialize。您可以通过发布数据

来调用这些字段
data : {
first_name: $('#first-name').val(),
last_name: $('#last-name').val(),
},

我希望这对你有帮助。