特定字段ID

时间:2015-09-02 09:28:05

标签: javascript php jquery ajax forms

我正在尝试将一些数据发送到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"),

它确实有效,但想知道这是否是正确且兼容的方法。

由于

5 个答案:

答案 0 :(得分:1)

您还应该使用serialize()功能,如

$("#first-name,#last-name").serialize()

https://jsfiddle.net/j2zn76o4/1/

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

jQuery API

  

数据   键入:PlainObject或String   使用请求发送到服务器的普通对象或字符串。

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

答案 4 :(得分:-1)

您不需要使用序列化。您可以通过发布数据来调用字段

data : {
first_name: $('#first-name').val(),
last_name: $('#last-name').val(),
},

我希望这会有所帮助:)