Angular 爱奥尼亚3角5后数据HttpClient

Angular 爱奥尼亚3角5后数据HttpClient,angular,web-services,post,ionic-framework,httpclient,Angular,Web Services,Post,Ionic Framework,Httpclient,我试图在本地Web服务中发布数据,但在企业中却做不到:p 无论如何,这就是我试图编写的代码: 在提供程序中(src/providers/team data/team data.ts) 在addteam.html中 <!-- Generated template for the AddteamPage page. See http://ionicframework.com/docs/components/#navigation for more info on Ionic pa

我试图在本地Web服务中发布数据,但在企业中却做不到:p 无论如何,这就是我试图编写的代码:

在提供程序中(src/providers/team data/team data.ts)

在addteam.html中

<!--
  Generated template for the AddteamPage page.

  See http://ionicframework.com/docs/components/#navigation for more info on
  Ionic pages and navigation.
-->
<ion-header>

  <ion-navbar>
      <button ion-button menuToggle>
          <ion-icon name="menu"></ion-icon>
        </button>
    <ion-title>addteam</ion-title>
  </ion-navbar>

</ion-header>


<ion-content padding>
  <h2>Add User</h2>
  <form (ngSubmit)="saveTeam()">
    <ion-item>
      <ion-label>TeamName</ion-label>
      <ion-input type="text" [(ngModel)]="teams.name" name="name"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label>TeamMember</ion-label>
      <ion-input type="text" [(ngModel)]="teams.member" name="member"></ion-input>
    </ion-item> 
    <button ion-button type="submit" block>Add Team</button>
  </form>

</ion-content>

addteam
添加用户
团队名称
组员
添加团队
当我启动应用程序并填写字段后,我按下按钮在我的数据库中添加字段,在控制台中出现此错误:

HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK", url: "http://localhost/MyWebService/api/createteam.php", ok: false, …}
error
:
error
:
SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>) at XMLHttpRequest.onLoad (http://localhost:8100/build/vendor.js:73072:51) at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660) at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5114:33) at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581) at r.runTask (http://localhost:8100/build/polyfills.js:3:10834) at e.invokeTask [as invoke] (http://localhost:8100/build/polyfills.js:3:16794) at p (http://localhost:8100/build/polyfills.js:2:27648) at XMLHttpRequest.v (http://localhost:8100/build/polyfills.js:2:27893)
message
:
"Unexpected token < in JSON at position 0"
stack
:
"SyntaxError: Unexpected token < in JSON at position 0↵    at JSON.parse (<anonymous>)↵    at XMLHttpRequest.onLoad (http://localhost:8100/build/vendor.js:73072:51)↵    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660)↵    at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5114:33)↵   at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581)↵    at r.runTask (http://localhost:8100/build/polyfills.js:3:10834)↵    at e.invokeTask [as invoke] (http://localhost:8100/build/polyfills.js:3:16794)↵    at p (http://localhost:8100/build/polyfills.js:2:27648)↵    at XMLHttpRequest.v (http://localhost:8100/build/polyfills.js:2:27893)"
__proto__
:
Error
text
:
"<br />↵<b>Notice</b>:  Undefined index: name in <b>/Applications/XAMPP/xamppfiles/htdocs/MyWebService/api/createteam.php</b> on line <b>15</b><br />↵<br />↵<b>Notice</b>:  Undefined index: member in <b>/Applications/XAMPP/xamppfiles/htdocs/MyWebService/api/createteam.php</b> on line <b>16</b><br />↵{"error":true,"message":"Could not add team"}"
__proto__
:
Object
headers
:
HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message
:
"Http failure during parsing for http://localhost/MyWebService/api/createteam.php"
name
:
"HttpErrorResponse"
ok
:
false
status
:
200
statusText
:
"OK"
url
:
"http://localhost/MyWebService/api/createteam.php"
__proto__
:
HttpResponseBase
HttpErrorResponse{headers:HttpHeaders,状态:200,状态文本:“OK”,url:http://localhost/MyWebService/api/createteam.php“,ok:false,…}
错误
:
错误
:
SyntaxError:XMLHttpRequest.onLoad的JSON.parse()位置0处JSON中的意外标记<(http://localhost:8100/build/vendor.js:73072:51)在t.invokeTask(http://localhost:8100/build/polyfills.js:3:15660)在Object.onInvokeTask(http://localhost:8100/build/vendor.js:5114:33)在t.invokeTask(http://localhost:8100/build/polyfills.js:3:15581)在r.runTask(http://localhost:8100/build/polyfills.js:3:10834)在e.invokeTask[作为invoke](http://localhost:8100/build/polyfills.js:3:16794)在p(http://localhost:8100/build/polyfills.js:2:27648)在XMLHttpRequest.v(http://localhost:8100/build/polyfills.js:2:27893)
消息
:
“JSON中位置0处出现意外标记<”
堆栈
:
“SyntaxError:JSON中位置0处的意外标记<”↵    在JSON.parse()处↵    在XMLHttpRequest.onLoad时(http://localhost:8100/build/vendor.js:73072:51)↵    在t.invokeTask(http://localhost:8100/build/polyfills.js:3:15660)↵    在Object.onInvokeTask(http://localhost:8100/build/vendor.js:5114:33)↵   在t.invokeTask(http://localhost:8100/build/polyfills.js:3:15581)↵    在r.runTask(http://localhost:8100/build/polyfills.js:3:10834)↵    在e.invokeTask[作为invoke](http://localhost:8100/build/polyfills.js:3:16794)↵    在p(http://localhost:8100/build/polyfills.js:2:27648)↵    在XMLHttpRequest.v(http://localhost:8100/build/polyfills.js:2:27893)"
__原型__
:
错误
文本
:
“
↵注意:第15行/Applications/XAMPP/xamppfiles/htdocs/MyWebService/api/createteam.php中未定义的索引:name

↵注意:未定义索引:第16行/Applications/XAMPP/xamppfiles/htdocs/MyWebService/api/createteam.php中的成员
↵{“error”:true,“message”:“无法添加团队”} __原型__ : 对象 标题 : HttpHeaders{normalizedNames:Map(0),lazyUpdate:null,lazyInit:ƒ} 消息 : “在分析的过程中Http失败http://localhost/MyWebService/api/createteam.php" 名称 : “HttpErrorResponse” 好啊 : 假的 地位 : 200 状态文本 : “好的” 网址 : "http://localhost/MyWebService/api/createteam.php" __原型__ : HttpResponseBase
当我试图向邮递员提出邮寄要求时, 插入正确的url作为POST, 并在body->form data中插入, 键:name和member,填写并发送请求后,在body->Pretty中出现消息“{”error:false,“message”:“Team added successfully”}”,字段实际上添加到数据库中

我做错了什么?我该怎么做才能让它工作?
谢谢。

几天前我也在为类似的问题苦苦挣扎。最后,我为FormData转换了数据对象。保存FormData而不是json解决了我的问题

addTeam(data) {
    return new Promise((resolve, reject) => {
      this.http.post(this.apiUrlAdd, this.getFormData(data))
        .subscribe(res => {
          resolve(res);
        }, (err) => {
          reject(err);
        });
    });
  }
        getFormData(object) {
            const formData = new FormData();
            Object.keys(object).forEach(key => formData.append(key, object[key]));
            return formData;
        }

为什么要使用承诺?只是好奇。我在其他地方也看到了它。Promise是现在JavaScript中异步处理的标准。您可以使用“解析”和“拒绝”来标识流程输出。重要的一点是,你可以抓住那些承诺。明白了,谢谢。我们以前使用map,然后在以后订阅它。
HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK", url: "http://localhost/MyWebService/api/createteam.php", ok: false, …}
error
:
error
:
SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>) at XMLHttpRequest.onLoad (http://localhost:8100/build/vendor.js:73072:51) at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660) at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5114:33) at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581) at r.runTask (http://localhost:8100/build/polyfills.js:3:10834) at e.invokeTask [as invoke] (http://localhost:8100/build/polyfills.js:3:16794) at p (http://localhost:8100/build/polyfills.js:2:27648) at XMLHttpRequest.v (http://localhost:8100/build/polyfills.js:2:27893)
message
:
"Unexpected token < in JSON at position 0"
stack
:
"SyntaxError: Unexpected token < in JSON at position 0↵    at JSON.parse (<anonymous>)↵    at XMLHttpRequest.onLoad (http://localhost:8100/build/vendor.js:73072:51)↵    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660)↵    at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5114:33)↵   at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581)↵    at r.runTask (http://localhost:8100/build/polyfills.js:3:10834)↵    at e.invokeTask [as invoke] (http://localhost:8100/build/polyfills.js:3:16794)↵    at p (http://localhost:8100/build/polyfills.js:2:27648)↵    at XMLHttpRequest.v (http://localhost:8100/build/polyfills.js:2:27893)"
__proto__
:
Error
text
:
"<br />↵<b>Notice</b>:  Undefined index: name in <b>/Applications/XAMPP/xamppfiles/htdocs/MyWebService/api/createteam.php</b> on line <b>15</b><br />↵<br />↵<b>Notice</b>:  Undefined index: member in <b>/Applications/XAMPP/xamppfiles/htdocs/MyWebService/api/createteam.php</b> on line <b>16</b><br />↵{"error":true,"message":"Could not add team"}"
__proto__
:
Object
headers
:
HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message
:
"Http failure during parsing for http://localhost/MyWebService/api/createteam.php"
name
:
"HttpErrorResponse"
ok
:
false
status
:
200
statusText
:
"OK"
url
:
"http://localhost/MyWebService/api/createteam.php"
__proto__
:
HttpResponseBase
addTeam(data) {
    return new Promise((resolve, reject) => {
      this.http.post(this.apiUrlAdd, this.getFormData(data))
        .subscribe(res => {
          resolve(res);
        }, (err) => {
          reject(err);
        });
    });
  }
        getFormData(object) {
            const formData = new FormData();
            Object.keys(object).forEach(key => formData.append(key, object[key]));
            return formData;
        }