【问题标题】:How to dynamically change data content in Ajax request [duplicate]如何在 Ajax 请求中动态更改数据内容
【发布时间】:2017-10-21 07:14:26
【问题描述】:

我尝试在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”的值。

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

    您需要传递一个 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”)。

    【讨论】:

    • 感谢您的回复
    • 谢谢,更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    相关资源
    最近更新 更多