html - 在从laravel ajax返回的json中的每个斜杠中获取额外的反斜杠“\”
问题描述
我正在尝试对我的 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) ;
}
我得到的输出。
<tr><td >Ali Test<\/td><td >HuzailJamil<\/td><td>353fc620-742f-11ea-a199-fd883b1807d3_2020-04-01 03:41:09pm.pdf<\/td> <td>processed<\/td><td><a href='https:\/\/www.medeconsult.com.au\/upload\/file\/download\/1'>Download<\/a><\/td><\/tr><tr><td >Huzail Jamil<\/td><td >HuzailJamil<\/td><td>754326f0-74e8-11ea-b110-23d0ecfe041c_2020-04-02 01:47:13pm.pdf<\/td> <td>processed<\/td><td><a href='https:\/\/www.medeconsult.com.au\/upload\/file\/download\/7'>Download<\/a><\/td><\/tr>
解决方案
发生这种情况是因为在某些情况下,未转义/
可能会导致问题。
因为,在 JSON 中,"\/"
并且"/"
是等价的,所以这不是问题。解析 JSON 时,转义字符将消失。
您的问题是您的 JavaScript 试图将 JSON 视为 HTML 而不是将其解析为 JSON。
有两个原因:
内容类型
默认情况下,PHP 声称要输出text/html
,但您输出的是 JSON 并且没有更改默认值。
header("Content-Type: application/json")
覆盖
您可以通过指定dataType
.
你试图这样做,但你没有使用大写字母 T
。JavaScript 区分大小写。
推荐阅读
- docker - docker-compose 中的网络模式容器
- fuzzy-logic - 模糊逻辑控制器 - RuntimeError:无法解析规则执行顺序
- python - 在 ctype 结构中使用无符号整数时报告无效 JSON
- python - 试图打印两对的概率
- sql - DB2 SQL 查询中的 ORDER BY 以匹配 Excel 中的排序
- python - wxpython对多个listctrls进行排序
- javascript - Puppeteer 从 a 中获取元素
- 结构体
- java - 创建强制用户制作 javadocs 的 Android Lint 检查。(像您向新开发人员解释一样解释)
- python - 在 python django 上正常导入期间重置错误
- typo3 - '验证此表单的安全令牌失败。请重新加载表格并再次提交。