私のAngularJS-appから独立したLaravelバックエンド(localhost上)にPOSTリクエストを送信しようとしていますが、X-CSRF-TOKENの情報がわかりません。少なくとも私はそれが問題だと思う。AngularJSからLaravelへのPOSTリクエスト
私は常に、コンソールでこのエラーが供給してい:
POST http://localhost/public/drinks 419 (unknown status)
私はAngularJSアプリでのindex.htmlにこれを追加しました:
<script>angular.module("myCaffeineIntake").constant("CSRF_TOKEN", '{{ csrf_token() }}');</script>
そして、ここでは私のコントローラからのコードです:
$scope.answer = function(newdrink, CSRF_TOKEN) {
newdrink._token = CSRF_TOKEN;
newdrink._method = "post";
$http({
method : "POST",
url : "http://localhost/public/drinks",
data : newdrink
}).then(function mySuccess(response) {
}, function myError(response) {
console.log("error");
}
);
そして、私のLaravelコントローラ:
public function store(Request $request)
{
$drink = new Drink;
$this->validate(request(),[
'Name' => 'required',
'Size' => 'required',
'Caffeine' => 'required',
'Url' => 'required'
]);
Drink::create([
'Name' => request('Name'),
'Size' => request('Size'),
'Caffeine' => request('Caffeine'),
'Amount' => 0,
'Url' => request('Url'),
'created_at' => time(),
'updated_at' => time(),
]);
}
何が欠けていますか?
csrf_tokenが実際に存在する場合、ログから確認する方法はありますか?これが起こっている理由はほとんどありません。その1つは、あなたの.envで生成されたアプリケーションキーがある場合です。ファイル –
'store'ルートから何も返さないので、' unknown status'ですか? 'return response(200)'のようなものが少なくとも助けになるかもしれません。 – Jeff