У меня есть форма на моей странице, которую я не хочу отправлять. Вот пример того, что я пытаюсь сделать в основном. Когда я нажимаю кнопку, я хочу отправить запрос 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 на мой url «test.php? T1 = 1 & t2 = 2» без каких-либо входных значений моей формы. Без предупрежденияDefault форма отправляется и перемещается в сторону от страницы. Запрос ajax не отправляется. Есть ли способ отправить данные формы в URL-адрес «test.php? T1 = 1 & t2 = 2» с запросом ajax без отправки формы?
Заранее спасибо. Любая помощь приветствуется.
Serialize входные значения в строке Json, и отправить его по запросу на JSon –
Вместо того, чтобы сделать форму (которую вы, кажется, не хотят использовать), то почему бы вам не просто создать DIV, содержащий все ваши входы с кнопкой в конце. Затем в JS вы связываете кнопку с запросом ajax. – tektiv
Спасибо tektiv. Это будет работать, но есть ли простой способ сериализации значений входов? Используется ли метод serialize для div, в котором есть входы? –