我试图通过ajax请求发布一些数据。
这是我的view.blade.php中的javascript代码,它引用了http://mysite/element/edit/ {id}
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(function() {
$( "#append-content" ).sortable({ handle: '.composer-row-header-handle' }).bind('sortupdate', function(e, ui) {
var rowID = $('.composer-row').map(function(){
return $(this).attr("id");
}).get();
$.ajax({
type: "POST",
url: "sort/store",
dataType: "json",
data: {
rowID: rowID
},
success: function(order){
console.log(rowID)
},
error: function(){
console.log(rowID)
}
});
});
});
</script>
并在同一个文件中插入了相对的_token meta
<meta name="csrf-token" content="{{ csrf_token() }}">
然后我在路径文件中设置了一个POST路由
Route::post('element/edit/sort/store', 'ElementsController@sort');
我的ElementsController排序函数是
public function sort(Request $request)
{
$rowID = $request->input('rowID');
$i = 1;
foreach($rowID as $val) {
$val = str_replace("row-", "", $val);
DB::table('element')
->where('refID', 1)
->where('rowID', $val)
->update(
[
'rowORDER' => $i,
]
);
$i++;
}
}
但是当我尝试重新排序日志时,响应是
jquery-1.12.0.min.js:4 POST http://mysite/element/edit/sort/store 500 (Internal Server Error)
如果我尝试在新页面中打开链接,则结果为
提前感谢您的每一个答案
答案 0 :(得分:0)
解决,
可能工作了太多时间。我在错误的Controller文件上编辑排序功能。
答案 1 :(得分:0)
更改{{URL :: to('element / edit / sort / store')}}并尝试