首先我承认我对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/