在laravel 5.2中使用jquery和ajax时出现500内部服务器错误
500 internal server error using jquery and ajax in laravel 5.2
我正在laravel 5.2中使用jquery和ajax构建编辑后系统。当我在引导模式中点击保存更改按钮时,会显示以下错误:
错误:POSThttp://localhost:8000/edit500(内部服务器错误)
send@jquery-1.12.0.min.js:4
ajax@jquery-1.12.0.min.js:4(匿名函数)@myplace.js:24
dispatch@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>
您似乎对我们的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() }}' } });
相关文章:
- 云代码(javascript)失败,原因是:{代码:1,消息:内部错误
- 随机jquery移动/角度内部错误与安卓浏览器
- 防止在php中缓存500内部错误页面的问题
- 使用 ajax 作为注释表单,它给了我 500 个内部错误,但没有脚本它可以工作,这意味着我的脚本是错误的;对
- 用于语法和内部错误的 JavaScript 事件侦听器
- 解析云代码部署失败,并显示消息“更新失败,出现内部错误”
- 谷歌验证码内部错误
- 尝试运行作业时分析错误代码 1 内部错误
- 内部错误:太多的递归 - 进入jquery
- Kohana - 使用“.exec”正则表达式发布javascript代码返回内部错误
- jQuery ajax给出500内部错误
- JavaScript中的内部错误(异常)
- 内部错误:无效UTF-8 - Sass &饮而尽
- windows .crypto. signtext总是返回内部错误
- 发送带有模型内部错误的Ajax
- Dojo构建失败的一个模块:OPTIMIZER失败:内部错误:缺少名称后.操作符
- Chrome's IndexedDB错误"内部错误检查键存在"是什么意思?
- 在React性能度量代码中有一个内部错误
- 嵌套AJAX函数- 500内部错误
- 执行Eval函数会导致内部错误