我在我的页面上有一个表格,我不想提交。这里是我试图基本做的一个例子。当我点击一个按钮时,我想要发送ajax请求,但不提交表单。这是在点击我的按钮时,将运行函数的例子格式:如何在不提交表单的情况下使用jquery ajax发送表单数据?
function clicked()
{
try {
var url = "test.php?t1=1&t2=2"
var postData = $("#myForm").serializeArray();
$.ajax(
{
url : url,
beforeSend: function (request)
{
request.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
},
type: "POST",
data : postData,
contentType: false,
processData: false,
success:function(data, status, xhr)
{
if(status == "success")
{
alert(data);
// Do something on page
}
else
{
// Do something on page
}
},
});
}
catch (e)
{
alert("Error Adding POI:\n" + e);
}
}
当我禁用的形式使用的preventDefault功能提交表单不会提交。然而,表单只是发送一个ajax post请求到我的url“test.php?t1 = 1 & t2 = 2”,没有我的表单的任何输入值。如果没有preventDefault,表单会提交并导航离开页面。没有发送ajax请求。有没有任何方式发送表单数据到URL“test.php?t1 = 1 & t2 = 2”与ajax请求没有提交表单?
在此先感谢。任何帮助是极大的赞赏。
序列化JSON字符串输入值,并沿JSON请求 –
发送而不是使一个表格(你似乎不想使用)的,你为什么不只是创建一个包含所有一个div您的输入结尾处带有一个按钮。然后在JS中,将按钮链接到ajax请求。 – tektiv
谢谢tektiv。这将工作,但是有没有简单的方法来序列化输入的值?序列化方法是否在一个有输入的div上工作? –