Php 通过ajax和JQuery动态发送json格式的post表单数据
我想知道如何通过ajax和JQuery动态发送json格式的post表单数据? 例如,我在JQ中编写了如下代码:Php 通过ajax和JQuery动态发送json格式的post表单数据,php,javascript,ajax,json,Php,Javascript,Ajax,Json,我想知道如何通过ajax和JQuery动态发送json格式的post表单数据? 例如,我在JQ中编写了如下代码: $.post("test.php", { func: "getNameAndTime" }, function(data){ alert(data.name); // John console.log(data.time); // 2pm }, "json"); 这很好,但在实时应用中,通常需要发送大量表单数据,用户可以动态更改字段,所以我
$.post("test.php", { func: "getNameAndTime" },
function(data){
alert(data.name); // John
console.log(data.time); // 2pm
}, "json");
这很好,但在实时应用中,通常需要发送大量表单数据,用户可以动态更改字段,所以我不知道会发送多少func1、func2、func3甚至func[]。
问题是如何动态地做到这一点,在旧的AJAX世界中,我可以通过序列化表单并发送到服务器来做到这一点。
Thanx。可以为AJAX请求建立动态数据,但显然您需要了解检索动态数据的逻辑。您的问题中没有描述这一点,因此在下面的示例中,我假设它基于表单中
.user\u input
字段的数量(可以是2或10,或其他)。然后,数据由字段名+字段值组成
重点是显示数据的动态收集,仅此而已
var ajax_data = {};
$('.user_input').each(function() {
ajax_data[$(this).attr('name')] = $(this).val();
});
$.post('some/url.php', ajax_ata); //etc
是的,我可以将所有数据发送到服务器,在任何情况下,它都可以正常工作, 例如:
$(function() { // on document load
$('#email_form').submit(function() { // set onsubmit event to the form
var data = $('#email_form').serialize(); // serialize all the data in the form
$.ajax({
url: 'testJson.php', // php script to retern json encoded string
data: data, // serialized data to send on server
dataType:'json', // set recieving type - JSON in case of a question
type:'POST', // set sending HTTP Request type
async:false,
success: function(data) { // callback method for further manipulations
for (key in data.email) {
alert(data.email[key]);
}
},
error: function(data) { // if error occured
}
});
return false;
});
})) 还有一件事,如果有多个字段,比如name=“emial[]”,我该怎么办?我认为这种方法无法达到这个目的。正如我在回答中所说的,汇编数据的方法取决于你,我无法预测。我假设了一个人为的示例,您只想从
user\u输入
字段中收集值。我只是想说明,是的,您可以构建动态AJAX数据。Я не русский но может кажется так, из-за моего юзернейм. 是的,你的用户名告诉了我俄罗斯概率。多亏了乌特卡诺斯(+1分)对于解决方案,他建议用一个类来命名字段,然后将其传递给$。每个JQ函数,但我们可以在不依赖类或id的情况下这样做,只发送整个表单吗?如果没有,我们是否可以发送多个表单项,如input name=“email[]”等?这根本不会以json格式发送表单数据dataType:json
只告诉ajax请求它希望返回的数据是json。