Я создал контроллер API в laravel.Это имело успех.Данные были в состоянии быть удалены.Сейчас я пытаюсь создать код удаления в ионном.где, когда пользователь щелкнул значок удаления, данные могут быть удалены из ионной, а также в базу данных.
Я изменил код на функцию GET в ионном коде, но он не работает, но на самом деле я пока не могу найти решение.
вот что я сделал в laravel, какие данные удалось удалить при тестировании api в почтальоне.
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"}}';
}
}
Вот код, который я сделал в ionic.
viewMed.ts
//alert delete data
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();
}
deleteData(){
this.authService.deleteData(this.userData,'deleteMed').then((result) => {
this.responsedata = result;
if(this.responsedata.success){
console.log(this.responsedata.success);
localStorage.removeItem("userData");
localStorage.setItem('userData', JSON.stringify({"id": this.responsedata.success}));
//navparam
this.navCtrl.push("ViewMedicinePage",({"id": this.responsedata.success}));
}
else
{
this.presentError(this.responsedata.error.text);
console.log(this.responsedata.error);
}
}, (err) => {
});
}
presentError(msg) {
let toast = this.toastCtrl.create({
message: msg,
duration: 3000,
position: 'bottom',
cssClass: "withdraw_error"
});
toast.present(toast);
}
Я также создаю функцию удаления в authservice.ts в поставщиках папок.
authService.ts
deleteData(credentials, type){
return new Promise((resolve, reject) => {
let headers = new Headers();
this.http.delete(apiUrl+type, JSON.stringify(credentials),
{headers:headers}).subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err);
});
});
}
, но в этом коде я получил ошибку в файле authservice.ts, ошибка ожидается 1-2 аргумента, но получил 3
Я хочу, чтобы данные можно было удалять, когда пользователь нажимает кнопку удаления и подтверждает удаление.Затем удаление данных обновляется в базе данных laragon.