发布到json服务器问题
我还是这个新手,但我试图发布我自己的数据到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。每documentation,你可以发布到http://localhost:3000/users
。
我更新了上面的代码以反映您的建议,但它现在不在GET中提取任何json数据,并且users.json位于app目录中。错误:意外的标记 user6680
您可能想要检查服务器是否一切正常,它可能会返回错误。 –
我相信你错过了公共服务(什么是合理的)
Note: the resource will not be really created on the server but it will be faked as if.
,因为你已经在本地安装,只需要运行:
$ jsonplaceholder
后更换您的网址,主机名Angular to http://localhost:3000
您是否启动服务器?此外,您的网址似乎仍然指向在线版本,而不是您自己的本地版本。 –
我试过把它指向两者。我发布了上面的代码以指向在线,但我也试过将它指向app/users.json,它是本地文件,但得到消息说它没有找到。它与GET请求的路径相同,所以我知道路径是正确的。我更新了上面的代码以反映本地json文件 – user6680