Ajax LARAVEL 419 POST错误

我真的很感激这方面的一些帮助。 我在这个论坛上发布了大量的解决方案,但我无法让它发挥作用。

我的ajax电话是这样的

$(document).ready(function() { $("#company").click(function() { $.ajax({ type: "POST", dataType:'html', url : "/company", success : function (data) { $("#result").html(data); } }); }); }); 

我通过我的路线呼叫视图

 Route::post('/company', 'Ajaxcontroller@loadContent'); 

和控制器

 public function loadContent() { return view('listing.company')->render(); } 

我的company.blade.php是

  @foreach ($companies as $company) 
{{$company->name}}
{{$company->streetaddress}} {{$company->postalcode}}

is available on

@endforeach

我收到了这个错误

 POST http://127.0.0.1:8234/company 419 (unknown status) 

Laravel 419发布错误通常与api.php和令牌授权有关

Laravel为应用程序管理的每个活动用户会话自动生成CSRF“令牌”。 此令牌用于validation经过身份validation的用户是否是实际向应用程序发出请求的用户。

将其添加到您的ajax调用中

 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); 

或者您可以在VerifyCSRF令牌中间件中排除某些URI

  protected $except = [ 'stripe/*', ]; 

在您的行动中,首先需要加载公司:

 $companies = App\Company::all(); return view('listing.company')->with('companies' => $companies)->render(); 

这将使公司变量在视图中可用,并且它应该正确呈现HTML。

尝试使用postman chrome扩展来调试您的视图。

您没有提交任何数据! 尝试将此行添加到您的ajax:

 data: $('form').serialize(), 

确保更改名称以匹配!

您的数据也应该在表单提交function中提交。

您的代码应如下所示:

  

在laravel中,您可以使用视图渲染。 恩。 $ returnHTML = view(’myview’) – > render(); myview.blade.php包含您的刀片代码