Как применить delete в функции оповещения ionic? - PullRequest
0 голосов
/ 23 апреля 2019

Я применил код Laravel и протестировал API для удаления данных, и это удалось.

Теперь я хочу применить функцию удаления к ионному. Как я могу применить его к функции оповещения?

.ts file

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();
}

Так что у меня возникла проблема, чтобы сделать удаление в ионной. Что я думаю, что что-то мне нужно включить в обработчик да или что? Я все еще не уверен.

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"}}';
    }
}

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Все, что вам сейчас нужно, это вызов конечной точки API. Вы можете сделать это, используя

  1. HTTP-клиент Angular или
  2. Ионный нативный HTTP .

Вы можете выбрать тот, который соответствует вашим потребностям. (Я лично предпочитаю, чтобы Ionic Native HTTP легко противодействовал проблеме CORS)

Один из способов их использования - создание функции для вызова API в файле .ts с использованием, например, HTTP / HTTPClient (с использованием 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);

      });

  }

, а затем вызвать функцию в обработчике yes:

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();
}
0 голосов
/ 23 апреля 2019

Если я правильно понимаю, что вы спрашиваете, вам нужно отправить 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 .

Надеюсь, это даст вам начало.

Здесь - еще одно хорошее руководство по выполнению подобных действий.

...