首页 > 解决方案 > jQuery 如何序列化非 DOM 对象以发布 AJAX?

问题描述

我在其他问题上多次看到这种技术来制作 AJAX POST:

var postData = $('#my-form').serializeObject();
$.post(url, postData, function(){});

但我想做的就是这个。

var data = {name1: 'value1', name2: 'value2'};
$.post(url, data, function(){});

这产生了错误:

TypeError: undefined is not a function ('...$.ajax...' 附近)

什么技术允许我将非 DOM 对象作为 HTTP 表单数据发布?

标签: javascriptjqueryformshttp

解决方案


您想创建一个 JSon 对象并通过 Ajax 发送它

let myData = {
    first: 'A',
    second: 'B',
    third: {
            third_1: '3A'
            third_2: '3B'
            },
};

$.ajax({
    type: "POST",
    dataType: "text",
    data: myData, //<-- your object
    url: "/path/to/myPHPfile.php",

    success: function (serverResult) {
        // Do something with serverResult
    },
    error: function (e) {
        console.log("Error", e);
    }
});

推荐阅读