[英]How to ajax() post more than one JSON object
我目前有一个$.getJSON()
调用,它从一个特定的URL获取一个JSON
字符串。 简化的代码是这样的,并且可以正常工作:
$.getJSON("myURL",function(data){
var receivedJSON = data;
});
JSON
数据如下所示:
[{"id":1,"name":"jerry"},{"id":2,"name":"tom"}]
现在,在我的程序中,我有一个表来接受用户输入,当用户单击“提交”时,它将进行ajax
调用,并将用户输入序列化为json
数据,然后传递给后端,简化的html代码如下所示:
<form>
<table>
<tbody>
<tr>
<td><input type="text"/></td>
<td><input type="text"/></td>
</tr>
</tbody>
</table>
<button type="submit">Submit</button>
</form>
处理获取用户输入数据的javascript如下所示:
function() {
var tableObj = $('table tbody tr').map(function(i) {
var row = {};
$(this).find('td').each(function(i){
var rowName = header[i];
row[rowName] =$(this).find("input").val();
});
return row;
}).get();
因此, var
tableObj
包含来自userInput的需要传递到后端的数据,并且该数据正在运行。
处理从表到后端的用户输入数据传递的ajax
函数的工作版本如下所示:
$.ajax({
url : "myPOST_URL",
type : 'POST',
data : JSON.stringify(tableObj),
dataType : "json",
contentType : 'application/json; charset=utf-8',
}); //end ajax
现在,我的问题是,如果我不仅想通过.ajax
tableObj
数据,而且还想包括我从$.getJSON
接收到的json
数据(在此示例中为: var receivedJSON
$.getJSON
),该怎么办?做到这一点?
$(function(){ $.getJSON("myURL",function(data){ $.post("myPOST_URL",{receivedJSON: data, formData: $("#formular").serializeArray()}); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="formular"> <input type="text" name="field1"> <input type="text" name="field2"> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.