【发布时间】:2019-05-24 06:52:05
【问题描述】:
这是我在 laravel 中的测试 ajax(参考下文)
$.ajaxSetup({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(".btn-submit").click(function(e){
var playlist = $("#playlist").val();
var id = '{{$data->id}}'
e.preventDefault();
$.ajax({
type:'POST',
url:'/ajaxRequest',
data:{playlist:playlist,id:id },
success:function(data){
alert(data.success);
}
});
});
这是我在 laravel 中的控制器(参考下文)
$playlist = $request->input('playlist');
$id = $request->input('id');
$playlist = Playlist::find($playlist);
$songs = $playlist->songs()->get();
foreach ($songs as $song){
if($id == $song->id){
return response()->json(['success'=>'Sond Allready added']);
}
}
$song = Song::findOrFail($id);
$playlist->songs()->attach($song);
return response()->json(['success'=>'Playlist Updated Success']);
但是当我在谷歌浏览器中运行控制台时它给了我错误并且它没有返回预期的响应“return 'Success! ajax in laravel 5';”
我的代码有什么问题/问题?我有什么遗漏吗?
POST http://127.0.0.1:8000/ajaxRequest 500(内部服务器错误)
【问题讨论】:
-
你验证过路由是否真的存在吗?
-
@Buddika 添加有问题的 web.file
-
这是
$request->input('playlist');一个整数吗? -
打开您的 chrome 开发者工具并检查网络选项卡。重新加载请求,直到收到 500 错误。然后在 chrome 浏览器的网络选项卡上,您可以看到实际的 500(内部服务器错误)是什么。在此处复制并粘贴该错误,以便我们为您提供更多帮助
-
检查服务器的error.log,它通常包含有用的信息,可以直接引导你找到问题。
标签: javascript php ajax laravel