gpt4 book ai didi

javascript - 如何在不提交表单的情况下使用 jquery ajax 发送表单数据?

转载 作者:行者123 更新时间:2023-11-29 10:39:44 25 4
gpt4 key购买 nike

我的页面上有一个我不想提交的表单。这是我基本上想做的事情的一个例子。当我单击一个按钮时,我希望发送一个 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 函数禁用表单提交时,表单不会被提交。但是,该表单只是向我的 url“test.php?t1=1&t2=2”发送一个 ajax post 请求,而没有我表单的任何输入值。如果没有 preventDefault,表单将提交并离开页面。没有发送ajax请求。有什么方法可以在不提交表单的情况下通过ajax请求将表单数据发送到url“test.php?t1=1&t2=2”?

提前致谢。非常感谢任何帮助。

最佳答案

尝试:

 $('input [type="submit"]').on('click',function(e){
e.preventDefault();
var url = "test.php?t1=1&t2=2"
var postData = $('this').serialize();
$.ajax(
{
url : url,
beforeSend: function (request)
{
request.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
},
type: "POST",
data : postData,
success:function(data, status, xhr)
{
if(status == "success")
{
alert(data);
// Do something on page
}
else
{
// Do something on page
}
},
});

})

关于javascript - 如何在不提交表单的情况下使用 jquery ajax 发送表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31337610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com