संपादित करें: प्रश्न के अंत में भाग पढ़ें!टाइप एरर: error.json फ़ंक्शन नहीं है
मेरी सेवा कोड:
import { Http, Response, Headers } from "@angular/http";
import { Injectable } from "@angular/core";
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { Observable } from "rxjs";
import { Client } from "./client.model";
@Injectable()
export class ClientService {
private clients: Client[] = [];
constructor(private http: Http){}
addClient(client: Client) {
this.clients.push(client);
const body = JSON.stringify(client);
const headers = new Headers({'Content-Type': 'application/json'});
return this.http.post('http://localhost:3000/client', body, {headers: headers})
.map((response: Response) => response.json())
.catch((error: Response) => Observable.throw(error.json()));
}
getClients() {
return this.clients;
}
deleteClient(client: Client) {
}
}
और मेरे घटक में मैं इस प्रस्तुत समारोह:
onSubmit(form: NgForm) {
let email = form.value.email;
let password = form.value.password;
let firstName = form.value.firstName;
let lastName = form.value.lastName;
const client = new Client(email, password, firstName, lastName);
this.clientService.addClient(client)
.subscribe(
data => console.log(data),
error => console.error(error)
);
form.resetForm();
}
वहाँ समान त्रुटियाँ हैं here और here। जवाब हमेशा आरएक्सजे कार्यों को शामिल करना है, लेकिन मैं ऐसा करता हूं, इसलिए मुझे पूरा यकीन नहीं है, मुझे यह त्रुटि क्यों मिलती है।
संपादित करें:
तो वास्तविक समस्या नहीं इस समारोह था, लेकिन एक लापता "/" मुख्य app.js फ़ाइल में मेरे मार्ग से पहले। इसे हल करने के बाद, मुद्दा चला गया था।
की संभावित डुप्लिकेट [Angular2: res.json नहीं एक समारोह है] (http://stackoverflow.com/questions/39162056/angular2-res-json-is-not- ए-फ़ंक्शन) – Igor
@ इगोर आप मेरा छेद प्रश्न पढ़ते हैं, है ना? मैंने बताया, कि एक ही मुद्दा है, जो मेरे लिए काम नहीं कर रहा है .. – Zoker
मैंने आपका पूरा प्रश्न पढ़ा। इसका कारण यह है कि इसमें डुप्लिकेट की तरह जेसन शामिल नहीं है। एक ही अपराधी के साथ अन्य समान प्रश्न हैं। अपने ब्राउज़र में डीबग करें और त्रुटि में प्रतिक्रिया की स्थिति देखें, आपको शायद पता चलेगा कि वास्तव में कोई जेसन उपलब्ध नहीं है। आप अपने ब्राउज़र डीबगर के नेटवर्क आईओ टैब में परिणाम देखकर भी ऐसा कर सकते हैं। – Igor