2016-11-17 143 views
1

我的Laravel应用程序的每个响应似乎都以\n字符为前缀,即使我返回的所有数字都是数字。Laravel在回复中返回前导 n字符

感觉就像我必须将此作为一个错误引入,但是我找不到任何可能做到的地方。我看到我在Laravel建立的其他一些应用程序也有这样的应用程序(但其他应用程序却没有这样做),所以在拔掉我的头发之后,我想我会检查并查看其他人是否已经体验过这种情况。

问题是我试图返回一个ID并使用它,但它有这个主角。我可以剥夺它的客户端,但宁愿修复根本问题。

ETA: 这条路线:

Route::get('/test', function(){ 
    return 'hello world'; 
}); 

产生以下反应:

screen shot with extra line

这不是当然的HTML的问题,但是当我尝试将其指定为一个id,我得到“\ n 234”。

+0

听起来像你正在返回JSON到前端客户端?你能提供一个有这个问题和响应的方法的例子吗? – jackel414

+0

我刚刚更新了一个具体的例子。我试图只回到前端客户端,但是我看到在每个页面上都有<!DOCTYPE html>之前的原始响应中有额外的返回。我的想法是一个中间件问题,但是我拿出了所有我的定制中间件,它没有任何效果。 – cfkane

回答

0

如果您使用Laravel作为一个API,我会建议使用JSON response功能:

return response()->json([ 
    'id' => 234 
]); 

这应该减轻领先换行的问题。

至于为什么你目前遇到它,它可能与你的请求标题有关。在过去,我不得不将'Accept' => 'application/json'添加到我的请求标题中,以确保Laravel知道我总是希望返回JSON。

+0

是的,这仍然是从响应的第二行开始提供JSON。似乎有一个回车打印在应用程序的某处。但是也许从JSON响应中提取ID是一种更好的做法。 – cfkane

1

首先PHEWW!这是一个不好的问题。

如果您的任何文件从公用文件夹的index.php开始到引发响应的控制器,就会发生这种情况。任何地方,如果在所有存在<?php ?>

之间

参与路由请求和响应开始<?php任何文件的新线路上的任何其他行比1号线

检查您

  1. 公共/ index.php文件
  2. 引导/ app.php
  3. 配置/ app.php
  4. config文件夹下的任何其他文件
  5. 路线/ web.php或路线/ api.php
  6. 应用程序/ HTTP /控制器/ YourController.php

我觉得这些检查必须解决您的问题。如果没有评论下面让我们讨论!

+1

你真的用这个保存了我们的培根!我们使用Apiato框架,并突然发现我们的回应都是通过正确形成的json返回的,但是第一个字符是“0”。不用说,我们感到困惑。我遇到了你的回应,只是搜索“0 <?php”并在路由定义文件中找到它。谢谢!! – QuietSeditionist

+1

我很高兴你找到了你的修复程序。 (y)的 – BlackBurn027