我正在尝试将一些数据发送到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"),
它确实有效,但想知道这是否是正确且兼容的方法。
由于
答案 0 :(得分: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)
数据 键入:PlainObject或String 使用请求发送到服务器的普通对象或字符串。
在这种情况下,我认为您可以使用PlainObject
作为 unixarmy , psylogic 表示。
答案 4 :(得分:-1)
您不需要使用序列化。您可以通过发布数据来调用字段
data : {
first_name: $('#first-name').val(),
last_name: $('#last-name').val(),
},
我希望这会有所帮助:)