与发送序列化表单数据的现有AJAX帖子一起发送额外的JSON数据

Send additional JSON data along with an existing AJAX post that is sending Serialized Form data

本文关键字:数据 一起 JSON 序列化 表单 AJAX      更新时间:2023-09-26

我想发送额外的JSON数据以及现有的AJAX表单帖子。

我有这个AJAX请求,提交一个HTML表单与JavaScript…

// Serialize the data in the form
var serializedCommentData = $parentCommentForm.serialize();
// Make AJAX Save POST Request
commentAjaxRequest = $.ajax({
    url: ProjectManagementTaskModal.cache.urlEndPointsObj.createTaskCommentReplyUrl,
    type: 'post',
    data: serializedCommentData
});

我也有一个JSON字符串保存在一个JavaScript变量…

var jsonString = '[{"id":1,"name":"Kenneth Auchenberg","avatar":"http://cdn0.4dots.com/i/customavatars/avatar7112_1.gif","type":"contact","value":"Kenneth Auchenberg"},{"id":9,"name":"Kenneth Hulthin","avatar":"http://cdn0.4dots.com/i/customavatars/avatar7112_1.gif","type":"contact","value":"Kenneth Hulthin"}]';

我如何使我的JSON字符串在var jsonString被发送与表单发送相同的AJAX请求?

一个对象可以有两个字段

    var pack = { commentData : serializedCommentData, json: jsonString }

并序列化它,然后传递数据。

    commentAjaxRequest = $.ajax({
        url: ProjectManagementTaskModal.cache.urlEndPointsObj.createTaskCommentReplyUrl,
        type: 'post',
        data: JSON.stringify(pack)
    });

您需要在接收器脚本中解包