Как вставить элементы в файл 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
Что такое код - вы спросили, Можно ли это сделать без кода!