我還是這個新手,但我試圖發佈我自己的數據到https://jsonplaceholder.typicode.com/users用於學習目的。在頁面的底部,它說使用npm install -g json-server
,所以我在我的項目中運行了該命令,並試圖將數據發佈到上面的網址,並且我也試着將它發佈到靜態json文件中,認爲它可能以某種方式託管文件npm install -g json-server命令,但是我知道使用本地文件時沒有找到json文件,如果我嘗試發佈到上面的url,那麼它會顯示一個帖子在控制檯日誌中,但我的表與用戶從不更新。任何人都可以告訴我如何得到這個工作,所以我可以看到我的POST數據?發佈到json服務器問題
user.service.ts
import {Injectable} from '@angular/core';
import 'rxjs/add/operator/map';
import {Http, Headers} from '@angular/http';
import {User} from './user';
@Injectable()
export class UserService{
constructor(private _http:Http){
}
getUsers(){
return this._http.get('http://localhost:4200/users')
.map(res=>res.json());
}
addUser(post){
return this._http.post('http://localhost:4200/users', post)
.map(res=> res.json());
}
}
form.component.ts
import { Component, OnInit } from '@angular/core';
import {UserService} from '../users.service';
import {Http} from '@angular/http';
import {Router} from '@angular/router';
import {FormGroup, FormControl} from '@angular/forms';
@Component({
selector: 'app-form',
templateUrl: './form.component.html',
styleUrls: ['./form.component.css'],
providers: [UserService]
})
export class FormComponent implements OnInit{
private user;
private _users;
constructor(
private _userService:UserService
){
}
userForm = new FormGroup({
name: new FormControl(),
username: new FormControl(),
email: new FormControl(),
address: new FormGroup({
street: new FormControl(),
suite: new FormControl(),
city: new FormControl(),
postalcode: new FormControl()
})
});
onSubmit(){
this._userService.addUser(this.userForm.value)
.subscribe(res => {
this.user = res;
console.log(res);
})
}
}
您是否啓動服務器?此外,您的網址似乎仍然指向在線版本,而不是您自己的本地版本。 –
我試過把它指向兩者。我發佈了上面的代碼以指向在線,但我也試過將它指向app/users.json,它是本地文件,但得到消息說它沒有找到。它與GET請求的路徑相同,所以我知道路徑是正確的。我更新了上面的代碼以反映本地json文件 – user6680