【发布时间】:2022-11-22 22:50:13
【问题描述】:
我想用 ajax 请求发布数据,但它说是内部服务器。我尝试添加元数据和 X-CSRF-TOKEN 但仍然无法正常工作。请看看我的代码
阿贾克斯代码:
$("#firstForm").on("submit", (e)=>{
e.preventDefault()
let dataString = $(this).serialize();
let email = document.getElementById("emailInput").value
let password = document.getElementById("passwordInput").value
var token = $('meta[name="csrf-token"]').attr('content');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': token
}
});
$.ajax({
type: 'POST',
url: '/register/create',
data: dataString,
dataType: 'json',
}).done(function(response){
console.log("Done");
});
return false;
})
HTML 表格:
<form class="mt-5 text-start" id="firstForm" method="post">
<label class="text-white main-font">Email</label>
<input type="email" name="email" id="emailInput" class="form-control mb-2" placeholder="Enter your email here">
<label class="text-white main-font">Password</label>
<input type="password" name="password" id="passwordInput" class="form-control password mb-2" placeholder="Enter your password here">
<i class="d-none fa-solid fa-eye fs-5 eye" onclick="eyeOpen()"></i>
<i class="fa-solid fa-eye-slash fs-5 eye" onclick="eyeClose()"></i>
<div class="form-check text-start mb-5">
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
<label class="form-check-label text-white" for="flexCheckDefault">
I've agree to the terms and conditions!
</label>
</div>
<button id="firstBtn" class="mb-3 mt-5 btn btn-lg btn-danger text-white main-font w-100">Next</button>
</form>
拉维尔路线:
Route::post('register/create', [AccountController::class, 'create']);
控制器:
public function create(Request $request) {
$user = new User;
$user->email = $request->email;
$user->password = Hash::make($request->password);
$user->save();
return view('accounts.login');
}
错误:
[2022-11-22 13:18:23] local.ERROR: SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value (SQL: insert into `users` (`email`, `password`, `updated_at`, `created_at`) values (?, $2y$10$uwsmx9lDw4z9a0tGwUjBWeNM8zfNEkoa7oREGdCBgxTkF3Owlo5Uy, 2022-11-22 13:18:23, 2022-11-22 13:18:23)) {"exception":"[object] (Illuminate\\Database\\QueryException(code: HY000): SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value (SQL: insert into `users` (`email`, `password`, `updated_at`, `created_at`) values (?, $2y$10$uwsmx9lDw4z9a0tGwUjBWeNM8zfNEkoa7oREGdCBgxTkF3Owlo5Uy, 2022-11-22 13:18:23, 2022-11-22 13:18:23)) at C:\\xampp\\htdocs\\dating\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connection.php:712)
【问题讨论】:
-
500 错误是一种通用错误消息,几乎涵盖了 PHP 脚本可能出错的每一件事。检查您的服务器错误日志以找出确切的错误消息。对于 Laravel,还要检查
storage/logs/中的日志 -
我找到了日志,但我应该如何处理它?
-
读他们?找资料什么的引起的错误 ...?
-
有超过 2k 行。我应该如何阅读以及我应该找到什么?
-
错误通常接近尾声。如果有堆栈跟踪(在行的开头有数字),则查看
#0所在的位置。如果是Laravel日志,看最后一行有时间戳
标签: javascript php ajax laravel