Проблем с AJAX form
Здравейте, не мога да се оправя с ajax формата. Потърсих в интернет да видя как става формата. В момента съм написал този код:
$('form').submit(function(event){
var formData = {
'username' : $('input[name=username]').val(),
'password' : $('input[name=pass]').val(),
'confirmPassword' : $('input[name=confirmPass]').val(),
'email' : $('input[name=email]').val()
};
$.ajax({
type: "post",
url: "register",
data: formData,
dataType: 'json',
encode: true
}).done(function(data){
});
event.preventDefault();
});
но не работят нещата.
Опитах, но не става. Проблемът е, че връща статус код 200ОК при всякакви действия.
200 значи, че заявката е стигнала и нищо не е гръмнало. Кои са тези обстоятелства, при които не трябва да е така? На сървъра получаваш ли пратените данни :?
Нищо не излиза когато натиснат копчето submit - дори, ако съм въвел грешни данни. Сега работят над този код - тук заявките се пращата и всичко е ок. Но как мога да изпиша грешките, ако не са въведени правилно паролата или името и след това да пренасочва потребителя към страницата за логване?
$("#ajaxform").submit(function(e)
{
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax(
{
url : formURL,
type: "POST",
data : postData,
success:function(data, textStatus, jqXHR)
{
},
error: function(jqXHR, textStatus, errorThrown)
{
}
});
e.preventDefault();
});
$("#ajaxform").submit();
В error callback-а получаваш респонса, предполагам като първи аргумент. Трябва да му направиш съответната текстообработка и да направиш нещо с DOM дървото според текстообработката, която си направил. Например ако получаваш чист текст, и на него пише "error" - проверяваш това и апендваш някъде текст. Ако връщаш JSON то парсваш JSON-a ($.parseJSON) и работиш по ключовете и стойностите му.