使用ajax POST将表单数据提交为JSON

时间:2019-06-21 18:03:54

标签: javascript jquery html ajax

所以我有一个带有3个隐藏的预填充输入字段和2个文本输入字段的表单。我正在尝试使用AJAX发布作为JSON提交此表单数据。 点击提交按钮后,我得到的网址为:

http:myurl.com:7001 / pagename /?obj1 = val1&obj2 = val2&obj3 = val3&obj4 = val4

在此之后,我写了一些代码,将其转换为JSON,然后发布。

我遇到的问题是:

如何将我提到的代码集成到“提交”按钮中,以便用户单击“提交”按钮后,即可获得上述网址,并且其他所有内容(如代码中所述)都在后台发生然后发出ajax发布请求。

谢谢。 很抱歉,如果不清楚。

//这是代码,如果单击提交按钮后在控制台中运行它,那么我就能成功完成ajax发布。我想将此代码集成到“提交”按钮中。

var urlvalue = location.search.substring(1).replace(/\+/g, '%20');
var postdata = JSON.parse('{"' + decodeURIComponent(urlvalue).replace(/&/g, '","').replace(/=/g,'":"') + '"}');
console.log(urlvalue);

const URL = myurl;

$.ajax({
                       url:URL,
                           type:'POST',
                          data: postdata,                    
                            success: function(result){
                                console.log(result);
                            },
                            error: function(error){
                                console.log(`Error $(error)`);
                            }
                    });

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题,但是如果您只想让表单提交将数据发布到某个地方,则必须为form的{​​{1}}属性提供一个功能

该函数应该包含问题底部的大部分工作代码(以及使用onsubmit取消默认的表单操作)。