【发布时间】:2019-04-06 09:14:55
【问题描述】:
我正在尝试将数据发布到 PHP 后端并接收返回值并将其推送到数组中。因此,我创建了一个函数来做到这一点。但是,我不会更改后端的 API(用 PHP 编写)。所以我不能改变它以适应我使用 POST 的正常方法。
这是我的功能
test() {
let data = "method=getThis" + "&db=myDatabase"
this.http.post("API URL", data).subscribe(data => {
this.result = data; // get data in result variable
this.items = JSON.stringify(this.result); // then convert data to json string
// console.log(this.items);
this.allData = JSON.parse(this.items); // parse json data and pass json string
// console.log(this.allData.length); // got result of particular string
this.array = [];
for (var i = 0; i < this.allData.length; i++) {
this.array.push({
data1: this.allData[i].data1,
data2: this.allData[i].data2,
})
}
console.log(this.array[0])
})
}
这是后端的示例函数
else if($_POST['method']=="getThis"){
global $conn;
mysqli_select_db($conn, $_POST['db']);
$name="";
$result=array();
$r=mysqli_query($conn,"select data1,data2 from table");
while ($rs = mysqli_fetch_array($r,MYSQLI_ASSOC)){
array_push($result,$rs);
}
echo json_encode(array("result"=>$result));
}
那么我如何才能真正发布呢?我被困在这里。我通常使用 JSON 发布,然后在后端解码 JSON。但是这一次我没有开发后端,也没有改变它,所以必须使用提供的后端。
使用 POSTMAN 发帖
method=getThis&db=myDatabase
效果很好。不发送 JSON 只是一个文本。那么我如何在 Ionic 中真正实现这一点。
【问题讨论】:
-
this.allData = "method=getThis&db=myDatabase" 可能是一种快速但懒惰的方法。
-
@JohnV。哈哈哈..不幸的是它没有用..
-
哦,我误会了。看起来结果将是一个带有“结果”键的对象,这将是一个数组。你应该试试 this.allData = data.result
标签: php android angular typescript ionic-framework