ルートファイルにコントローラを指定しないと、現在動作している単純なポストリクエストがあります。 AJAXリクエスト用に作成したコントローラにアクセスするためのルートを変更すると、500内部サーバエラーが返されます。コントローラ、LaravelにアクセスしないAjaxリクエスト
マイRoute.phpは次のようになります。
Route::post('ajaxTagStore', '[email protected]');
私のコントローラは、次のようになります。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class AjaxController extends Controller
{
public function postAjaxTag(Request $request) {
if(Request::ajax()){
return Response::json(Request::all());
}
}
}
そして最後に私のAJAXコードは次のようになります。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(document).ready(function(){
$('#tag-btn').click(function(){
var fname = $('#firstname').val();
var lname = $('#lastname').val();
var token = $('#token').val();
var dataString = $('#tag').serialize();
$.ajax({
type: 'POST',
url: '/ajaxTagStore',
data: dataString,
success: function(response){ // What to do if we succeed
console.log(response);
$('#postRequestData').html(response);
}
})
});
});
私がそれを言ったように私がコントローラーを指定せずにこれを使用している場合は:
Route::post('ajaxTagStore', function(){
if(Request::ajax()){
return Response::json(Request::all());
}
});
これはどういう意味ですか? (私はcsrf-tokenも使用しています)
storage/logsディレクトリにエラーメッセージがありますか? – Dan