Sam*_*far 6 javascript forms 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);
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用 PreventDefault 函数禁用表单提交时,不会提交表单。但是,该表单只是将 ajax post 请求发送到我的 url“test.php?t1=1&t2=2”,而没有表单的任何输入值。如果没有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
}
},
});
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9671 次 |
最近记录: |