您好,我想知道当我使用laravel 5返回JSON结果时,它会将每个'/'
替换为'\/'
,这会导致我遇到麻烦,因为我通过控制器返回的网址不再有效
例如,在控制器中:
$url = 'icon/nature/animals/cat-2.png';
$result = array('data'=>$url);
return response()->json($result);
在jquery响应中返回'icons\\/nature\\/animals\\/cat-2.png'
我怎样才能避免这种情况发生,谢谢
答案 0 :(得分:0)
你必须使用encodeURI
(内置javascript函数):
例如:
encodeURI('http:\/\/www.google.com') => 'http://www.google.com'
encodeURI('icons\/nature\/animals\/cat-2.png') => 'icons/nature/animals/cat-2.png'
答案 1 :(得分:0)
这是json()
方法的蓝图:
public function json($data = [], $status = 200, array $headers = [], $options = 0)
使用$options
参数设置所需的转义选项。要查看JSON常量的完整列表,请选中以下链接:http://php.net/manual/en/json.constants.php
您将需要JSON_UNESCAPED_SLASHES
常量来实现您需要的行为。