gpt4 book ai didi

mysql - Angular 2 待办事项应用程序未在 MySQL 数据库中存储新任务

转载 作者:行者123 更新时间:2023-11-29 05:09:39 27 4
gpt4 key购买 nike

我在做this tutorial using Ionic 2 and Angular 2 to create a to-do app .我发誓我正在输入他在视频中给我们的确切代码,但我的应用程序没有将项目存储到数据库中。 (MySQL 数据库运行良好。)尝试时,出现此错误:

Response_body: "failed"
headers: Headers
ok: true
status: 200
statusText: "OK"
type: 2
url: "http://localhost/note/store.php"
__proto__: Body
it fails! home.ts:25

和 console.log 中的“[object Object]”。所以请求到达某个地方,但由于某种原因它没有被保存,我不知道为什么。

老师(导师?Tutorialer?)看了我的 detail.ts 说他看不到 store.php 的 post 函数。我的理解是 home.ts 中的这个函数是这样做的:

  addDB(obj){
this.http.post("http://192.168.1.162/note/store.php",obj).
subscribe(data =>{
console.log(data);
var resp = data.text().trim();
if(resp == "success"){
console.log("it works!");
this.loadDB();
}else{
console.log("it fails!");
}
}, err=>{
console.log(err);
})
}

但当我这么说时,他似乎不再清楚自己需要什么。我想也许 StackOverflow 会知道该怎么做。

有多个 .ts 和 .html 和 .php 文件,所以我不能弄个 fiddle ; I've put them all up on GitHub instead .具体来说,home.html and home.ts , app.module.ts , detail.html and detail.ts , 和 these php files真的是我唯一接触过的。

我觉得这一定是一些简单而荒谬的事情,比如“这个函数在错误的文件中,你没有注意到他在这里切换了他正在使用的那个”,但我发誓我已经反复查看过它。 ...

最佳答案

在 Angular 2 中使用 http 时,您必须像这样使用 .map() 函数解析响应:

this.http.post("http://192.168.1.162/note/store.php",obj)
.map(res => res.json())
.subscribe(data=>{

},
err=>{

})

编辑:使用 Promises 而不是 observable:

import 'rxjs/add/operator/toPromise';

this.http.post("http://192.168.1.162/note/store.php",obj)
.toPromise()
.then(data=>{

})
.catch(err=>{

})

关于mysql - Angular 2 待办事项应用程序未在 MySQL 数据库中存储新任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41711806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com