我已应用Laravel代码并测试了API以删除数据,并成功完成了
现在,我想将功能delete应用于ionic。如何将其应用于警报功能?
.ts文件
confirmdelete() {
let alert = this.alertCtrl.create({
title: 'Confirm Delete',
message: 'Do you confirm to delete?',
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
},
{
text: 'Yes',
handler: () => {
console.log('Yes clicked');
}
}
]
});
alert.present();
}
所以我在离子中进行删除时遇到问题。我认为在yes处理程序中需要包含什么内容?我仍然不确定。
api.php
public function deleteMed(Request $request)
{
$id = $request->id;
$medname = $request->medname;
$price = $request->price;
$stock = $request->stock;
$medno = $request->medno;
$ingredient = $request->ingredient;
$description = $request->description;
$addinfo = $request->addinfo;
$user = AddMedicine::where('medno', $request->input('medno'))->count();
if($user!=0) {
AddMedicine::where('id', $id)->delete([
'id' =>$id,
'medname'=>$medname,
'price'=>$price,
'stock'=>$stock,
'medno'=>$medno,
'ingredient'=>$ingredient,
'description'=>$description,
'addinfo'=>$addinfo,
]);
$msg = "Data deleted";
$datamsg = response()->json([
'success' => $msg
]);
return $datamsg->content();
} else {
echo'{"error":{"text":" Medicine does not exist"}}';
}
}
答案 0 :(得分:0)
如果我理解您的正确要求,则需要将HTTP请求发布到删除端点。
您是正确的,这应该在警报“是”处理程序中进行。
您将在其中放置以下内容:
this.http.post('url-of-your-delete-endpoint', {id: 123})
.map(res => res.json())
.subscribe(res => {
// success
console.log(res);
}, err => {
// error
console.error(err);
});
此示例使用的是Angular HttpClient。
希望这可以给您一个开始。
Here是执行此类操作的另一本好指南。
答案 1 :(得分:0)
您现在所需要的就是对api端点的调用。您可以使用
您可以选择任何适合您的需求。 (我个人更喜欢Ionic Native HTTP来轻松解决CORS问题)
使用它们的一种方法是使用HTTP / HTTPClient在.ts
文件中为api调用创建函数,例如(使用Ionic Native HTTP):
async deleteData(){
let url = 'http://localhost/api/api-endpoint-url'
let params = {}; // for request params
await this.http.post(url, params, {}).then(response => {
console.log('from server: ', response);
})
.catch(error => {
console.log('error: ',error);
});
}
,然后在“是”处理程序中调用该函数:
confirmdelete() {
let alert = this.alertCtrl.create({
title: 'Confirm Delete',
message: 'Do you confirm to delete?',
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
},
{
text: 'Yes',
handler: () => {
console.log('Yes clicked');
this.deleteData(); // call deleteData()
}
}
]
});
alert.present();
}