我在我的頁面上有一個表格,我不想提交。這裏是我試圖基本做的一個例子。當我點擊一個按鈕時,我想要發送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上工作? –