我正在使用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

最佳答案

该文档未显示json方法的所有参数。

但是它们隐藏在源头中。

JsonResponse->__construct():

/**
 * 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)
 {
     //...
 }

options参数将是json_encode()参数。

因此,例如,漂亮的印刷品和未转义的斜杠:
response()->json(..., 200, [], JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);

07-26 08:14