Jquery 通过Ajax发送的动态创建的JSON字符串
我有一个表单,希望通过AJAX以JSON格式将数据发送到我的PHP文件中。 我使用jQuery来处理所有事件 我现在陷入困境,花了几个小时试图找到一条路 我的数据字符串现在看起来如下所示: search={name:$('#name').val(),group:$('#group').val()} 但我现在已经决定,如果字段中实际设置了值,我只希望字段发送过来。因此,我创建了以下部分:Jquery 通过Ajax发送的动态创建的JSON字符串,jquery,Jquery,我有一个表单,希望通过AJAX以JSON格式将数据发送到我的PHP文件中。 我使用jQuery来处理所有事件 我现在陷入困境,花了几个小时试图找到一条路 我的数据字符串现在看起来如下所示: search={name:$('#name').val(),group:$('#group').val()} 但我现在已经决定,如果字段中实际设置了值,我只希望字段发送过来。因此,我创建了以下部分: $('#search_form input[type=text]').each(function(n,elem
$('#search_form input[type=text]').each(function(n,element){
if ($(element).val() != '')
{
search_fields = {test :$('#'+element.id).val()};
}
});
现在,我想用输入字段名替换表示test的部分,然后将值放在它旁边。我希望我解释得对。我怎样才能做到这一点?因为它最多可以有3个输入字段,如果它们有值,我希望它们自己添加它们,或者忽略它们。有什么提示吗?看看这个问题:
我想您应该考虑使用JQuery的.serialize()或.param()来简化将值转换为JSON的过程。看看这个问题:
我想您应该考虑使用JQuery的.serialize()或.param()来简化将值转换为JSON的过程
var search = [];
$('#search_form input[type=text]').each(function(){
search.push({name: $(this).attr("name"), value: $(this).val()});
});
因此,使用JSON.stringify()
函数将其编码为JSON
string
如果您使用此解决方案,您不需要在
PHP
端使用get\u object\u vars
,您应该使用
var search = [];
$('#search_form input[type=text]').each(function(){
search.push({name: $(this).attr("name"), value: $(this).val()});
});
因此,使用JSON.stringify()
函数将其编码为JSON
string
如果使用此解决方案,则不需要在PHP
端使用get\u object\u vars
您听说过jQuery中的吗
$("#search_form").serialize();
您听说过jQuery中的吗
$("#search_form").serialize();
一个简单的例子:
$.ajax({
type: 'POST',
url: http://example.com,
data: $('form').serialize()
});
一个简单的例子:
$.ajax({
type: 'POST',
url: http://example.com,
data: $('form').serialize()
});
是的,但是所有表单字段都是空值发送的,或者我错了吗?不幸的是,您必须在发布后对其进行解析:/是的,但是所有表单字段都是空值发送的,或者我错了吗?不幸的是,您必须在发布后对其进行解析:/这似乎可行。非常感谢您的解决方案!!我希望现在能解决这个问题。再次感谢。这似乎有效。非常感谢您的解决方案!!我希望现在能解决这个问题。再次感谢。