0
我一直在嘗試一些與Ajax和laravel的東西,我已經嘗試了很多在這一點上,不知道什麼是錯的。我似乎無法獲得表單數據(這主要是關於什麼)。如果有人能夠幫助,那會很好。這裏的代碼,並提前感謝。JQuery的Ajax/laravel表單提交不工作
$('.bier').on('click', bier);
$('.delete-check-close').on('click', closeDelete);
$('.delete-check-show').on('click', showDelete);
$('.message').on('click', closeMessage);
hideMessage();
$('form.page').on('submit', bier);
function bier() {
var form = $(this);
var url = form.attr('action');
console.log(url);
console.log(form);
console.log('bier');
console.log(form.find('input').serialize());
console.log('/bier');
var wtf = new FormData(form);
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
contentType: 'json',
data: form.serialize(),
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(data, textStatus, jqXHR) {
console.log('success');
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
var data = $.parseJSON(jqXHR.responseText);
console.log(data);
if (data.errors) {
console.log(data.errors);
$.each(data.errors, function(key, value) {
console.log(key);
console.log(value);
if(key.length > 0) {
var $error = $('td.' + key);
$error.removeClass('hidden');
$error.addClass('visible');
$error.html(value);
}
});
} else {
console.log('======================================== error');
console.dir(jqXHR);
console.dir(textStatus);
console.dir(errorThrown);
}
}
});
return false;
}
});
這是我的形式,我也想通了,實際上存在一個錯誤,它只是沒有顯示。以下是錯誤: POST 422(Unprocessable Entity) {message:「給定的數據無效。」 ,錯誤:{...}} 在errros中:它只是顯示我的表單中的每個字段 –
向我們顯示服務器端代碼,驗證邏輯可能有問題。你使用自定義驗證器嗎?此外,它似乎是你發送的數據爲JSON,但仍然使用form.serialize()。您可以嘗試使用JSON.stringify()對其進行序列化 –