如何在Ajax请求中动态更改数据内容

时间:2017-10-21 07:14:27

标签: jquery ajax

我尝试在jQuery中动态更改对象数据的键。

以下是我的代码:

// User is "finished inputing selection or typing," do something
function doneInput (e) {

    var $column = 'product_title'

    $.ajax({
        url: draftUrl,
        type: 'POST',
        data: {$column : $value

        },
        success: function (data) {
                     console.log(data);
                     if ($eventId){
                         // Dbs mean draft saved box an extenstion to make it unique;
                         displayDraft('#'+$eventId+'Dsb');
                     }
        },
        error: function(jqXHR, errMsg) {
            // Handle error
            alert(errMsg);
        }
    });
} // End of doneinput function

我得到了以下结果

Array
(
    [$column] => Blue addidas men's jeans
)

我想要类似的东西:

Array
(
    [product_title] => Blue addidas men's jeans
)

我无法手动输入,因为我将更改' $ column'动态。

1 个答案:

答案 0 :(得分:0)

您需要传递一个JSON数组作为服务器的响应,并用JavaScript解析它,

var resultJSON =  '{"FirstName":"John","LastName":"Doe","Email":"johndoe@johndoe.com","Phone":"123 dead drive"}';
var result = $.parseJSON(resultJSON);
$.each(result, function(k, v) {
//display the key and value pair
alert(k + ' is ' + v);
});

点击此处: Loop and get key/value pair for JSON array using jQuery

PS:除非您使用某种PHP / JavaScript模板系统,否则您似乎会将PHP语法与JavaScript混淆(不是“var $ column”而是“var column”)。