通过jquery中的$.post发送对象键和值的列表

send list of object key and value via $.post in jquery

本文关键字:对象 键和值 列表 jquery 中的 post 通过      更新时间:2023-09-26

我想使用jquery$.post将所有数据(以包含键、值的对象形式)发送到服务器。下面是代码。

/* 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 ) { });
        });

如果您滥用了该数组,JavaScipt中没有键值数组,请参阅此处。

您应该使用以下代码:

var obj = {};
$.each( headerKey, function(index, value){
    obj[headerKey[index]] = headerValue[index];
});

然后您可以对其进行serzialize并将JSON发送到服务器。