404 не найдено при публикации данных с angular2

В настоящее время я разрабатываю веб-приложение с angular2. Я следовал руководству по Tour of Heroes, чтобы освоить основы. Итак, мои настройки локального сервера и архитектура приложения одинаковы.

Теперь мне нужно выполнить запрос POST к статическому файлу. Мне удалось отправить запрос, но сервер не отвечает 404. Проверяя сетевые запросы с помощью Firebug, я вижу это:

введите здесь описание изображения

Это действительно странно, так как файл существует и URL правильный. Фактически, если я вставлю его в браузер (и выполню запрос GET), я смогу правильно получить json.

Я думаю, что это может быть вызвано плохой конфигурацией сервера. В качестве учебника angular2 я использую lite-сервер, но что-то не так.

Любая подсказка?


person Davide Abati    schedule 25.03.2016    source источник
comment
Что вы подразумеваете под запросом POST к статическому файлу. Что вы ожидаете от этого запроса. Запрос POST обычно обрабатывается сервером. Запрос GET обычно может просто загрузить некоторый существующий файл, если он обслуживается сервером по запрошенному пути.   -  person Günter Zöchbauer    schedule 25.03.2016
comment
Что вы не используете GET запрос из своего кода, если это работает?   -  person Günter Zöchbauer    schedule 25.03.2016
comment
Привет Гюнтер. Запрос должен быть POST, потому что в будущем он будет обрабатываться сервером, как вы сказали. Я просто использую файл json для имитации ответа сервера.   -  person Davide Abati    schedule 29.03.2016
comment
Я думаю, вам нужна специальная поддержка сервера для POST запросов к статическим файлам. Сам еще не пробовал, и я не знаю lite-сервер.   -  person Günter Zöchbauer    schedule 29.03.2016


Ответы (1)


Я не совсем то, что вы хотите сделать, должно показаться, что где-то есть небольшое непонимание.

Если вы делаете запрос HTTP POST, это потому, что вы хотите изменить ресурс, присутствующий на сервере? В этом случае вам нужно будет разместить скрипт на своем сервере, а не простой статический файл. Если вы не хотите обновлять ресурс, а хотите только запросить его, вы можете получить доступ к своему статическому файлу, выполнив HTTP-запрос GET.

this.http
  .get('static/cambio-icona.json')
  .map(res => res.json())
  .subscribe(icona => this.icona = icona);
person gentiane    schedule 26.03.2016
comment
Дело в следующем. Мне нужно разработать API, который прослушивает запросы GET и POST от клиента. В любом случае, я все еще разрабатываю внешний интерфейс и, как обычно, имитирую такие ответы сервера с помощью фиктивных файлов json. Для целей, связанных с компанией, мне нужно, чтобы передняя часть работала, прежде чем приступать к разработке задней части. Я использовал эту стратегию mock-json много раз в прошлом (в основном с Backbone.js). - person Davide Abati; 29.03.2016
comment
И да, этот вызов должен изменить ресурс на сервере. cambio-icona означает значок изменения. - person Davide Abati; 29.03.2016