2016-11-17 2 views
1

Каждый ответ от моего приложения Laravel, кажется, получает префикс с символом \n, даже когда все, что я возвращаю, является числом.Laravel возвращает ведущий символ n в ответах

Похоже, что я должен был представить это как ошибку, но я не могу найти нигде, где бы я мог это сделать. Я вижу, что у меня есть другие приложения, которые я создал в Laravel, которые тоже имеют это (но другие, которые этого не делают), поэтому, потянув мои волосы, я подумал, что проверю и посмотрю, пережили ли это что-то еще.

Проблема в том, что я пытаюсь вернуть идентификатор и использовать его, но у него есть этот главный символ. Я мог бы удалить его на стороне клиента, но скорее исправлю проблему с корнем.

ETA: Этот маршрут:

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

Производит этот ответ:

screen shot with extra line

Это не является проблемой для HTML, конечно, но когда я пытаюсь присвоить его в качестве идентификатора, Я получаю «\ n 234».

+0

Похоже, вы возвращаете JSON переднему клиенту? Можете ли вы привести пример метода, который имеет эту проблему и ответ? – jackel414

+0

Я только что обновил конкретный пример.Я пытаюсь просто вернуться к внешнему клиенту, но я вижу, что на каждой странице есть дополнительный возврат в исходном ответе перед . Мое мышление было проблемой промежуточного программного обеспечения, но я достал все свое промежуточное программное обеспечение, и это ничего не повлияло. – cfkane

ответ

0

Если вы используете Laravel в качестве API, я бы рекомендовал использовать функцию JSON response:

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

Это должно облегчить ведущую проблему разрыва строки.

Что касается причин, по которым вы сейчас находитесь, это может иметь отношение к вашим заголовкам запроса. Раньше мне приходилось добавлять 'Accept' => 'application/json' в мои заголовки запросов, чтобы гарантировать, что Laravel знает, что я всегда хочу вернуть JSON.

+0

Да, это все еще обеспечивает JSON, начиная со второй строки ответа. Кажется, что в приложении есть распечатка каретки. Но, возможно, вытащить идентификатор из ответа JSON является лучшей практикой. – cfkane

1

Прежде всего PHEWW! это плохая проблема.

Это может произойти, если какой-либо из ваших файлов, начиная с index.php общей папки, до контроллера, который выдает ответ. Любой, где, если вообще есть <?php ?> с новой линией между

или

любого файла, участвующих в запросе маршрута и ответ, начиная с <?php на любой другой линии, чем линии № 1

Проверить ваш

  1. общественности/index.php
  2. самозагрузки/app.php
  3. конфигурации/app.php
  4. любые другие файлы в папке конфигурации
  5. маршруты/web.php или маршруты/api.php
  6. приложение/Http/Контроллеры/YourController.php

Я чувствую проверки они должны устранить проблему. если не комментарий ниже, давайте обсудим!

+1

Ты действительно спас наш бекон! Мы используем структуру Apiato и неожиданно обнаруживаем, что все ответы возвращаются с правильно сформированным json, но с «0» в качестве первого символа. Излишне говорить, что мы были в недоумении. Я произошел после вашего ответа и просто выполнил поиск «0 QuietSeditionist

+1

Я рад, что вы нашли свое решение. (У) – BlackBurn027

Смежные вопросы