我正在使用AJAX发布数据到我的控制器。
PHP代码:
return response()->json($request->root() . '/summer-uploads/' . $store);
它返回:
"http:\/\/domain.test\/summer-uploads\/summer-uploads\/PGARvUyeXiAbbTOc90b6HGXXf9ZHmqehOA5f25pE.jpeg"
如您所见,它正在添加反斜杠,某种形式的转义。我如何删除它,所以它看起来像这样:
“ http://domain.test/summer-uploads/summer-uploads/PGARvUyeXiAbbTOc90b6HGXXf9ZHmqehOA5f25pE.jpeg”
答案 0 :(得分:4)
文档未显示json方法的所有参数。
但是它们隐藏在源代码中。
Base64.DEFAULT
options参数将是json_encode()参数。
例如,漂亮的印刷品和未转义的斜杠:
/**
* Constructor.
*
* @param mixed $data
* @param int $status
* @param array $headers
* @param int $options
* @return void
*/
public function __construct($data = null, $status = 200, $headers = [], $options = 0)
{
//...
}
答案 1 :(得分:1)
尝试将其返回到url内
url('all your path concatenations')
就您而言
return response()->json(url('/summer-uploads/' . $store));
答案 2 :(得分:0)
如果您使用的是Eloquent: API Resources,则可能会遇到类似的问题。将json选项应用于您的Response或ResponseCollection的最佳方法是:
public function withResponse($request, $response)
{
$response->setEncodingOptions(JSON_UNESCAPED_SLASHES);
}
答案 3 :(得分:0)
patriziotomato 的解决方案适用于 Laravel,只需使用它即可。
return response()->json([
'link'=> 'http://somelink.com/something'
])->setEncodingOptions(JSON_UNESCAPED_SLASHES);