我正在尝试对我的 laravel 应用程序使用 ajax 调用,但我得到了一个额外的斜杠,甚至是反斜杠或正斜杠。任何人都可以告诉我为什么会发生这种情况以及解决方案是什么,因为它连续浪费了我三个 3 小时。这是我的ajax。$(document).ready(function(){ $('#status').change(function() { var status=$('#status').val() alert(status); $.ajax({ type:'GET', url:'{{route('prescription_status')}}', data:{status:status}, datatype:"json", success:function(data){ alert(data); $('.filebody').html(data); } }); }); });这是我的控制器。public function getStatus(Request $request) { $files = Fileupload::where('status',$request->status)->get(); $users=User::all(); $output=''; foreach($files as $file) { $output .= '<tr>'; foreach ($users as $user) { if ($user->id == $file->patient_id) { $output .= "<td >" . $user->first_name . " " . $user->last_name."</td>" ; } } foreach ($users as $user) { if ($user->id == $file->user_id) { $output .= "<td >" .$user->first_name . "" . $user->last_name."</td>" ; } } $output.="<td>".$file->filename."</td> <td>".$file->status."</td><td><a href='".route('download-file',[$file->id])."'>Download</a></td>"; $output .="</tr>"; }// $data=array(['output'=>$output]); echo json_encode($output) ; }我得到的输出。
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
发生这种情况是因为,在某些情况下,未转义/
可能会导致问题。
因为在 JSON 中,"\/"
和"/"
是等价的,所以这不是问题。解析 JSON 时,转义字符将消失。
您的问题是您的 JavaScript 试图将 JSON 视为 HTML 而不是将其解析为 JSON。
有两个原因:
内容类型
默认情况下,PHP 声称输出text/html
,但您正在输出 JSON 并且没有更改默认值。
header("Content-Type: application/json")
覆盖
您可以通过指定dataType
.
您尝试这样做,但未能使用大写 T
。JavaScript 区分大小写。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消