gpt4 book ai didi

javascript - 在 $.ajax 调用中将附加数据添加到 jQuery 包装的对象数据中

转载 作者:行者123 更新时间:2023-12-02 18:02:57 25 4
gpt4 key购买 nike

我有这个工作代码:

jQuery.ajax({
type: 'post',
url: 'http://www.someurl.com/callback.php',
dataType: 'json',
data: jQuery(':input[name^="option"][type=\'checkbox\']:checked, :input[name^="option"][type=\'text\']'),

complete: function (mydata) {
//do something with it
}
});

成功回发所有选中的复选框和所有文本框。但现在我想添加一些任意数据。但不知道如何格式化。基本上我想简单地添加我自己的名称=值对“test=1”,以便在回调中我可以像其他人一样看到它。但无论我尝试什么,我都看不到以它期望的格式获得正确的语法。不确定我是否应该将其添加到 jQuery() 包装内部还是外部。我尝试过序列化、encodeURIComponent、基本字符串“&test=1”

有什么想法吗?

最佳答案

最好的选择是在 AJAX 调用之外构建参数,如下所示:

var params = jQuery(':input[name^="option"][type=\'checkbox\']:checked, :input[name^="option"][type=\'text\']');
params.test = 1;
params.test2 = 2;

然后在您的 AJAX 调用中,只需使用:

jQuery.ajax({
type: 'post',
url: 'http://www.someurl.com/callback.php',
dataType: 'json',
data: params,

complete: function (mydata) {
//do something with it
}
});

编辑:通常在使用 jQuery 收集输入时,我倾向于使用 .each 函数,如下所示:

var params = new Object();
$.each('input[name^=option]', function() {
if ((this.type === 'checkbox' && $(this).is(':checked')) || this.type === 'text' && this.value !== '') {
params[this.name] = this.value;
}
});

然后,如果您想添加参数,您可以在此之后或在创建新对象后立即执行此操作。

关于javascript - 在 $.ajax 调用中将附加数据添加到 jQuery 包装的对象数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20355510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com