ajax - 如何发出 AJAX 请求并用 laravel 响应?
问题描述
当我执行vardump
. 我需要获取资源并显示一个模式,但我没有从 AJAX 得到响应没有方法返回 AJAX
$.ajax({
type: "POST",
url: "/modalAjax",
data: "id=" + obj.id,
dataType: 'json',
success: function() {
$('#modalEdit').modal('show');
},
error: function() {
}
});
控制器
public function modalAjax(Request $request) {
var_dump($request);
die();
return Response::json($request);
}
解决方案
假设您有这样的视图设置
{{-- Add a CSRF token --}}
<meta name="csrf-token" content="{{ csrf_token() }}">
{{-- Just to avoid Vue console warning --}}
<div id="app"></div>
{{-- Include the JQuery library --}}
<script src="/js/app.js"></script>
<script>
// add csrf header to all Ajax requests
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var obj = {id: 1}; // Just an example when reproducing
$.ajax({
type: "POST",
url: "/modalAjax",
data: "id=" + obj.id,
dataType: 'json',
success: function(data) {
console.log(data); // Do anything with the data here
$('#modalEdit').modal('show');
},
error: function() {
}
});
</script>
像这样的路线
// HomeController is just an example, link to your own
Route::post('/modalAjax', 'HomeController@modalAjax');
您可以像这样访问控制器中的请求数据
public function modalAjax(Request $request)
{
// Do something with $request->id
return response()->json([
'id' => $request->id
]);
}
现在这将按原样返回收到的ID,不知道你想在那里做什么¯\_(ツ)_/¯
现在你会在控制台中得到它,并且引导模式应该显示
{"id":"1"}
希望这可以帮助
推荐阅读
- laravel - 总和左连接多个表laravel6
- portforwarding - Kubernetes 服务 - 通过部署将端口转发到所有 pod
- java - RegEx 在 "," 或 L," 或 ",N 处拆分字符串
- python - 优化过滤器和循环以在 1M 行上运行
- javascript - 捕获 UDP 数据包 DGRAM 的问题
- apache - 在 Solaris 10 上禁用 TLS 1.0 IN apache
- asp.net-core - Aspnet Core 3 ajax 调用参数为空
- java - 如何在 openGL ES 3 android 中创建 VAO
- azure-devops - Azure DevOps 发布管道 - 如何自动注册部署组目标
- php - PHP中单选按钮的编辑选项