我目前正在进行$.getJSON()
调用,该调用从一个特定网址获取JSON
字符串。简化的代码是这样的,它工作正常:
$.getJSON("myURL",function(data){
var receivedJSON = data;
});
JSON
数据如下所示:
[{"id":1,"name":"jerry"},{"id":2,"name":"tom"}]
现在,在我的程序中,我有一个用户输入的表,当用户点击提交时,它会进行ajax
调用并将用户输入序列化为json
数据并传递给后面-end,简化的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
现在,我的问题是,如果我不仅要通过tableObj
发布.ajax
数据,还要包含我从json
收到的$.getJSON
数据(在这个例子中它是:var receivedJSON
),我该怎么做才能实现这个目标?
答案 0 :(得分:0)
$(function(){
$.getJSON("myURL",function(data){
$.post("myPOST_URL",{receivedJSON: data, formData: $("#formular").serializeArray()});
});
});
&#13;
<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>
&#13;