简体   繁体   English

在Laravel 5.2中使用jquery和ajax的500内部服务器错误

[英]500 internal server error using jquery and ajax in laravel 5.2

I am building edit post system using jquery and ajax in laravel 5.2. 我在laravel 5.2中使用jquery和ajax构建编辑发布系统。 When i click on save changes button in my bootstrap modal, the following error is displayed: 当我在引导程序模式中单击“保存更改”按钮时,显示以下错误:

Error: POST http://localhost:8000/edit 500 (Internal Server Error) 错误:POST http:// localhost:8000 / edit 500(内部服务器错误)

send @ jquery-1.12.0.min.js:4 发送@ jquery-1.12.0.min.js:4

ajax @ jquery-1.12.0.min.js:4 (anonymous function) @ myplace.js:24 ajax @ jquery-1.12.0.min.js:4(匿名函数)@ myplace.js:24

dispatch @ jquery-1.12.0.min.js:3 派遣@ jquery-1.12.0.min.js:3

r.handle @ jquery-1.12.0.min.js:3 r.handle @ jquery-1.12.0.min.js:3

js code: js代码:

$('#modal-save').on('click' , function() {

 $.ajax({

 method : 'POST' ,
 url : url ,
 data: { body: $('#post-body').val(), postid: '' , _token: token }})

.done(function(msg) {

console.log(msg['message']);

    });
  });

Included in view file: 包含在视图文件中:

    <script>
    var token='{{ Session::token() }}';
    var url='{{  route('edit') }}' ;
  </script>


 <script   src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

 <script   src="https://code.jquery.com/jquery-migrate-1.2.1.min.js" ></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
  <script src="src/js/myplace.js"></script>

It seems like you have problems with our csrf token. 您的csrf令牌似乎有问题。 Before making your ajax calls just change your ajax setup and put the token in every header you sent via ajax. 在进行ajax调用之前,只需更改ajax设置并将令牌放入通过ajax发送的每个标头中。 This should fix your error. 这应该可以解决您的错误。

First add a meta tag 首先添加一个元标记

<meta name="_token" content="{{ csrf_token() }}">

Then adjust ajax setup 然后调整ajax设置

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

or even simpler 甚至更简单

$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM