我正在测试一些简单的ajax请求,我在尝试使用控制器进行响应时收到错误代码500 内部服务器错误500
我的web.php文件
This one works fine
//Route::get('/test', function () {
// return "i am a success get";
//});
I cannot seem to get this one to work
Route::get('/test', 'shoppingCartController@testfunction');
我的控制器
class shoppingCartController extends Controller
{
public function testfunction(Illuminate\Http\Request $request)
{
//
// if ($request->isMethod('post')){
// return response()->json(['response' => 'This is post method']);
// }
//
// return response()->json(['response' => 'This is get method']);
//
return 'test';
}
}
我的jquery
$(document).ready(function(){
$("button").click(function(){
$.ajax({url: "test", success: function(result){
$("#div1").html(result);
}, error: function(xhr){
$("#div1").html(xhr.statusText + " " + xhr.status);
}
});
});
});
答案 0 :(得分:0)
好的答案是因为n00dl3建议控制器在没有ajax的情况下也不能正常工作。好像我得到了
Illuminate\Http\Request not found exception
答案 1 :(得分:0)
将此代码用于ajax调用:
<script type="text/javascript">
var urla = {!! json_encode(url('/')) !!};
jQuery.ajax({
type: "GET",
url: urla + '/test',
dataType: 'json',
data: {logtype: type},
success: function (msg) {
console.log(msg);
},
});
</script>
并将'test'方法设置为:
Route::get('/test', 'TestController@test');
此处将TestController
更改为您放置test
方法的控制器。
当然你可以在ajax调用中添加error子句。这里我刚刚添加了console.log(msg)
,其中msg
是json编码的响应。