Giridhari Mishra Ответов: 0

Как вставить элементы в файл json с помощью angular


Привет,
У меня есть Json-файл в папке wwwroot/assets. Я использую этот файл в сервисе для отображения данных. Я пытаюсь вставить еще одну запись в этот файл Json. Я использовал тот же url-адрес, но когда он публикует данные из сервиса, он выдает ошибку "не удалось загрузить ресурс". Я попытался открыть url-адрес из ошибки, и он открывает файл Json и отображает значения из файла json.

Что я уже пробовал:

Url-адрес для службы:
private url = '/assets/accounts/account-details.json';


Метод службы:
createService(param: AccountDetails): Observable<accountdetails> {
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let body = JSON.stringify(param);
    let options = new RequestOptions({ headers: headers });
    return this.http
      .post(this.url, body, options)
      .map(this.extractData)
      .catch(this.handleError);
  }

Вызов из компонента:
createAccountDetail() {
    let acd: AccountDetails[] = [{
      accountNumber: "23459501", tranDate: "09-Apr-2018", tranDetails: "ATM Withdraw", tranType: "Debit", tranAmount: 100.00, balance: 100
    }];
    let accountDetail = acd[0];

    this.accountService.createService(accountDetail)
      .subscribe(
      result => console.log(result),
      error => this.errorMessage = <any>error
      );   
}

Giridhari Mishra

Как вставить элементы в Json-файл с помощью angular?

Kornfeld Eliyahu Peter

Это сбивает с толку! Кажется, вы пытаетесь опубликовать (то есть HTTP POST) какой-то контент на url-адрес файла, и вы хотите, чтобы содержимое этого поста было записано в этот файл?
Это ваша первая попытка веб-разработки?

Giridhari Mishra

Я использую HTTP GET, чтобы получить элементы из json и отобразить их на странице. Это прекрасно работает.

return this.http.get(this.dataUrl)
      .map(response => response.json())
      .catch(error => Observable.throw(error.json()));


Я пытался вставить элемент в тот же файл json. Если это возможно, пожалуйста, дайте мне знать. Это не первая попытка веб-разработки, а первая попытка вставить элемент в Json-файл с помощью сервиса.

Kornfeld Eliyahu Peter

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

Giridhari Mishra

Окей. Я согласен. Я не делаю это как живое приложение и не собираюсь реализовывать это в реальном проекте. Я просто практикуюсь в этом. Я не хочу использовать базу данных и создавать сервис. Можете ли вы сказать мне, как я могу вставлять элементы в файл Json в angular с помощью typescript? Если вы знаете и дадите мне детали, которые помогут в остальном, мы можем остановиться здесь и предположить, что это невозможно.

Kornfeld Eliyahu Peter

Это вполне возможно. Для этого есть около тысячи факторов, но это возможно...
Посмотрите на HTTP-запрос put

Giridhari Mishra

HTTP PUT обновит существующий элемент. Но я хочу вставить новый пункт.

Kornfeld Eliyahu Peter

А теперь вы попали в невозможное...

Giridhari Mishra

Здравствуйте, это не невозможно. Мы можем достичь этого с помощью json-сервера. Спасибо.

Kornfeld Eliyahu Peter

Что такое код - вы спросили, Можно ли это сделать без кода!

0 Ответов