public deptpostdbServer() {
let headers = new Headers();
headers.append('application/x-www-form-urlencoded', 'Content-Type');
headers.append('Access-Control-Allow-Methods', 'POST');
headers.append('Access-Control-Allow-Origin', '*');
return this.http
.post('http://172.16.0.125:8090/buyR/api/saveDeptInfo/150/Software', headers)
.map(res => res.json());
public datapostDisplay() {
this.deptpost = [];
this.sitehttpservice.deptpostdbServer().subscribe((res) => {
this.deptpost.push(res);
});
ERROR SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at Response.Body.json (body.ts:36)
at MapSubscriber.eval [as project] (table.service.ts:77)
at MapSubscriber._next (map.ts:75)
at MapSubscriber.Subscriber.next (Subscriber.ts:95)
at XMLHttpRequest.onLoad (xhr_backend.ts:104)
at ZoneDelegate.invokeTask (zone.js:424)
at Object.onInvokeTask (ng_zone.ts:253)
at ZoneDelegate.invokeTask (zone.js:423)
at Zone.runTask (zone.js:191)
defaultErrorLogger @ errors.ts:42
ErrorHandler.handleError @ error_handler.ts:69
Post service
<div class="form-group" >
First: <input type="text" [(ngModel)]="data.DeptCd"
placeholder="text"/>
Last: <input type="text" [(ngModel)]="data.Desc"
placeholder="name"/>
<button (click)="datapostDisplay()">Save</button>
</div>
angular2 post service是json解析错误。我通过了正确的参数。我可以使用API从数据库中获取。从方法我可以使用文本框中的帖子调用API我无法发送post方法我得到json解析错误。
答案 0 :(得分:0)
在您的帖子请求中,我看到了您的标题,但没有看到任何“参数”。您实际上是在发送一个空的帖子请求。只需在请求中添加2个字段值,除非远程服务器脚本中存在其他错误,否则应解决错误。您的帖子请求应如下所示:
let headers = new Headers({ 'Content-Type': 'application/json' });
let data = { postFieldName : postValue, postFieldName2 : postValue2 };
let params = JSON.stringify(data);
return this.http.post(URL, params, headers)
.map(this.extractData)
.catch(this.handleError);
然后,您创建一个将处理您的http响应的extractData方法。如果错误仍然存在,可能会在发出发布请求之前检查您的数据是否未定义。