我想使用jquery $ .post将所有数据(包含key,value的对象形式)发送到服务器。以下是代码。
/* DATA FOR HEADER --- I have created a list of key value pair in variable **arr** */
var headerKey = Array();
$.each( $(".headerParamsContainer .headerKey") , function(index, value){
headerKey[headerKey.length] = $(value).val();
});
var headerValue = Array();
$.each( $(".headerParamsContainer .headerValue") , function(index, value){
headerValue[headerValue.length] = $(value).val();
});
var arr = [];
$.each( headerKey, function(index, value){
var tempObj = {};
tempObj[headerKey[index]] = headerValue[index];
arr.push(tempObj);
});
现在我正在尝试将此信息发送到服务器但不能正常工作..
$("#createCall").submit(function(event) {
event.preventDefault();
var $form = $( this ),
url = $form.attr( 'action' );
var posting = $.post( url, {
code: $('#code').val(),
viewName: $('#viewName option:selected').val(),
getHeaderParams: $.parseJSON(arr)
});
posting.done(function( data ) { });
});
答案 0 :(得分:2)
您滥用该数组,JavaScipt中没有键值数组,请参阅here。
你应该使用这段代码:
var obj = {};
$.each( headerKey, function(index, value){
obj[headerKey[index]] = headerValue[index];
});
然后您可以对其进行serzialize并将JSON发送到您的服务器。