jQuery ajax 用变量序列化

Posted

技术标签:

【中文标题】jQuery ajax 用变量序列化【英文标题】:jQuery ajax serialize with variable 【发布时间】:2015-12-21 00:32:21 【问题描述】:

我有一个表单,我在验证检查后使用 jQuery ajax 提交。出于某种原因,如果我在 data 参数中为表单 ID 使用变量,则不会提交表单数据。如果我明确列出表单 ID,则表单将毫无问题地提交。

$formID var 在代码的前面声明,它没有超出范围,因为它适用于 url 参数,但不适用于 data 参数。

如何在此处使用变量?我错过了什么?

以下是有效的:

 var submit = $.ajax(
    url: $($formID).attr('action'),
    type: 'post',
    dataType: 'json',
    data: $('#gform_2').serialize(),
);

这不起作用(使用 $formID 变量):

 var submit = $.ajax(
    url: $($formID).attr('action'),
    type: 'post',
    dataType: 'json',
    data: $($formID).serialize(),
);

这个也没有(使用这个):

 var submit = $.ajax(
    url: $($formID).attr('action'),
    type: 'post',
    dataType: 'json',
    data: $(this).serialize(),
);

【问题讨论】:

【参考方案1】:

我想你忘了#

var submit = $.ajax(
    url: $($formID).attr('action'),
    type: 'post',
    dataType: 'json',
    data: $('#' + $formID).serialize(),
);

那么请分享错误控制台

【讨论】:

以上是关于jQuery ajax 用变量序列化的主要内容,如果未能解决你的问题,请参考以下文章

jQuery AJAX 表单数据使用 PHP 序列化

如何使用 AJAX 发布和更新 jQuery 序列化

jQuery ajax - serialize() 方法-输出序列化表单值

JSON和AJAX与jQuery有啥区别?

jQuery ajax-param()

ajax-serialize