我希望添加一个标志值来指示PHP例程,该例程将执行该函数。
我尝试了各种选项,但似乎都不起作用。
我假设这是一个扩展序列化形式变量的情况,通过添加我的额外的名称/值对。
我最近的尝试是
$.ajax etc etc
data: $('#Form1').serialize().push( { 'phpFlag': 1 } ),
这说明我不能在这个对象上使用'push',我认为它是一个数组。
谁能让我摆脱我的痛苦?我知道我可以使用隐藏表单值。 感谢程
jQuery的serialize方法返回一个字符串而不是一个数组,只需做如下操作:
data: $("#Form1").serialize() + "&phpFlag=1";
.serialize()
返回一个字符串,这就是.push()
不工作的原因。
我会在表单中添加一个隐藏字段,并在序列化之前为其提供所需的值。
<form id="Form1">
<!-- the rest of your form -->
<input type="hidden" name="phpFlag" value="0">
</form>
data: $('#Form1').find('input[name="phpFlag"]')
.val("1")
.end()
.serialize();
您应该使用serializeArray
, serialize
将返回一个字符串:
var params = $("#Form1").serializeArray();
params.push({ name: 'phpFlag', value: 1 });
...
data: params
或者你可以使用@jakeclarkson的答案,因为它更简单。