Я хочу опубликовать данные формы и получить то же самое из метода записи, но это не удается. Он ничего не публикует по внешней ссылке. Я создал внешнюю ссылку в PHP. В чем проблема?
Это полный код. Я использую HTTP из «@ angular / http». Это полный код
мой home.html код ниже
home.html
<ion-header>
<ion-navbar>
<ion-title>
Ionic3 Server Send Test
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item>
<ion-label floating>id</ion-label>
<ion-input type="text" name="id" [(ngModel)]="data.id"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Username</ion-label>
<ion-input type="text" name="name" [(ngModel)]="data.name"></ion-input>
</ion-item>
<button ion-button block (click)="submit()">Submit to server</button>
</ion-list>
<ion-card>
<ion-card-header>
Response
</ion-card-header>
<ion-card-content>
<b>{{data.response.id}}</b>
<b>{{data.response.name}}</b>
</ion-card-content>
</ion-card>
</ion-content>
мой код home.ts ниже
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http } from '@angular/http'; //https://stackoverflow.com/questions/43609853/angular-4-and-ionic-3-no-provider-for-http
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
data:any = {};
constructor(public navCtrl: NavController, public http: Http) {
this.data.name = '';
this.data.id = '';
this.data.response = '';
this.http = http;
}
submit() {
var link = 'http://127.0.0.1:3000/passdata';
var myData = JSON.stringify({id: this.data.id, name: this.data.name});
this.http.post(link, myData)
.subscribe(data => {
this.data.response = data["_body"]; //https://stackoverflow.com/questions/39574305/property-body-does-not-exist-on-type-response
}, error => {
console.log("Oooops!");
});
}
}
Не могли бы вы попробовать его в браузере Chrome с открытым инструментом разработчика и показать нам вкладку сети, посмотреть, есть ли сбой любого запроса, и вставить ошибку в сообщение.
Из вашего кода я вижу, что вы забыли указать "Content-Type": "application/json"
в заголовке запроса.
И вам, вероятно, придется удалить this.http = http;
от вашего конструктора.
Других решений пока нет …