我正在嘗試對(duì)我的 laravel 應(yīng)用程序使用 ajax 調(diào)用,但我得到了一個(gè)額外的斜杠,甚至是反斜杠或正斜杠。任何人都可以告訴我為什么會(huì)發(fā)生這種情況以及解決方案是什么,因?yàn)樗B續(xù)浪費(fèi)了我三個(gè) 3 小時(shí)。這是我的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貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
發(fā)生這種情況是因?yàn)椋谀承┣闆r下,未轉(zhuǎn)義/
可能會(huì)導(dǎo)致問(wèn)題。
因?yàn)樵?JSON 中,"\/"
和"/"
是等價(jià)的,所以這不是問(wèn)題。解析 JSON 時(shí),轉(zhuǎn)義字符將消失。
您的問(wèn)題是您的 JavaScript 試圖將 JSON 視為 HTML 而不是將其解析為 JSON。
有兩個(gè)原因:
內(nèi)容類型
默認(rèn)情況下,PHP 聲稱輸出text/html
,但您正在輸出 JSON 并且沒(méi)有更改默認(rèn)值。
header("Content-Type: application/json")
覆蓋
您可以通過(guò)指定dataType
.
您嘗試這樣做,但未能使用大寫(xiě) T
。JavaScript 區(qū)分大小寫(xiě)。
- 1 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報(bào)
0/150
提交
取消