【问题标题】:500 internal server error using jquery and ajax in laravel 5.2在 laravel 5.2 中使用 jquery 和 ajax 出现 500 内部服务器错误
【发布时间】:2016-11-26 04:59:24
【问题描述】:

我正在 laravel 5.2 中使用 jquery 和 ajax 构建编辑帖子系统。当我在我的引导模式中单击保存更改按钮时,会显示以下错误:

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

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

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

调度@jquery-1.12.0.min.js:3

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

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']);

    });
  });

包含在视图文件中:

    <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>

【问题讨论】:

  • Internal Server Error 是您的服务器告诉您应该阅读它的日志文件的方式。这是您唯一可以找到有用的调试信息的地方。
  • @Oldskool 我的日志文件:laravel.io/bin/E31Qy
  • 看起来您的 CSRF 令牌无效。另见stackoverflow.com/questions/32738763/…
  • @Oldskool ya ty ,但我已经实现了该方法但同样的错误。

标签: javascript jquery ajax twitter-bootstrap laravel-5.2


【解决方案1】:

您的 csrf 令牌似乎有问题。在进行 ajax 调用之前,只需更改您的 ajax 设置并将令牌放入您通过 ajax 发送的每个标头中。这应该可以解决您的错误。

首先添加一个元标记

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

然后调整ajax设置

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

甚至更简单

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

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 2016-06-19
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多