我需要从控制器传递数据才能查看此代码:
控制器:
function requete()
{
$id = Str::random();
return view('Demo.requete', compact('id'));
}
查看:
$(document).ready(function() {
$.ajax({
url: "{{ route('support.requete') }}",
method: "get",
data: data,
dataType: "json",
success: function(data)
{
$('#code').html(data.id);//nothing happens here
}
});
});
我不断收到此错误:
答案 0 :(得分:3)
您可以:
return view('Demo.requete', compact('id'));
然后,您可以直接在刀片文件中使用{{ $id }}
。
更新:
您正在使用ajax,因此需要一个json响应:
return response()->json(compact('id'), 200);
那么您就可以成功实现ajax:
$('#code').html(data.id);
答案 1 :(得分:2)
您不应返回带有Ajax请求的视图,而应该使用$ .ajax get请求进行点击。然后Laravel可以返回JSON响应,您可以在成功回调中使用它。
return response()->json([‘id’ => $id]);
答案 2 :(得分:0)
您不应在视图中使用 echo 。 您不应该使用ajax来获取视图(除非您想接收HTML,并且这里似乎不是这种情况) 如果要异步获取数据,则应为ajax请求使用不同的终结点,否则,只需返回包含所需所有数据的视图即可。
答案 3 :(得分:0)
对于ajax,请尝试返回响应json
function requete()
{
$id = Str::random();
return response()->json([
"id" => json_encode($id)
]);
}