javascript - 将数据添加到 JQuery 表单

标签 javascript jquery

首先我承认我对js真的很不好而且才刚刚开始。我在存储库中有这个片段:

function sendReport() {
    $.post($('#reportForm').attr('action') + '/post', $("#reportForm").serialize()).done(function() {
      reportManager.run();
    });
}

我想向其中添加数据。我希望接收帖子的网络服务接收额外的键/值对。我尝试过类似的事情

var data = $('#reportForm').serializeArray();
data.push({name: 'stuff', value: 'blaha'});

$.post(data, $("#reportForm").serialize()).done(function() {
    reportManager.run();
});

根本不起作用,我真的很感谢任何帮助。

编辑:

尝试按照下面的建议进行操作,但没有成功。尝试这样做只是为了验证新参数不会破坏任何内容:

//data to post
var data = $('#reportForm').serializeArray();

//url to post
var url = $('#reportForm').attr('action') + '/post';

//options required for jQuery.post
var options = { "data":data, "url": url };

$.post(options).done(function() {
    reportManager.run();
});

那是行不通的。我在服务器上收到如下错误:

noHandlerFound No mapping found for HTTP request with URI [/[object Object]]

我正在考虑代码中的其他内容可能正在使用某些隐式行为,但我发现尝试上面的代码(甚至不添加新数据)可能会破坏当前的工作行为,这很奇怪。

最佳答案

您没有为 post 方法提供 uri 参数,您应该使用类似于以下内容的内容:

//data to post
var data = $('#reportForm').serializeArray();
data.push({name: 'stuff', value: 'blaha'});

//url to post
var url = $('#reportForm').attr('action') + '/post';

//options required for jQuery.post
var options = { "data":data, "url": url };

$.post(options).done(function() {
    reportManager.run();
});

关于javascript - 将数据添加到 JQuery 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45597601/

相关文章:

javascript - 使用 lodash 3 将对象转换为对象数组

php - 如何找到修改了哪个输入字段?

javascript - 使用 span data-original 在悬停时加载图像

javascript - 如何获得正确形式的 JavaScript 和 Ruby 时间戳?

javascript - 相对于 mousemove 的动画背景图像

javascript - 这是如何运作的?

javascript - Nodejs MySQL - 服务器使用未知插件请求身份验证

javascript - 切换函数 Javascript

ajax - JQuery 在点击时滚动到 anchor ?

java - 如何根据先前的选择从下拉列表中进行选择?