Salve qualcuno saprebbe dirmi perchè questa benedetta actionMioDeletePersonalizzato(), nonostante gli passi un valore via POST(ajax) continua a dirmi “Your request is invalid.” ?
tnx
p.s.
la action incriminata !
public function actionMioDeletePersonalizzato($id)
{
if(Yii::app()->request->isPostRequest)
{
// we only allow deletion via POST request
$this->loadModel($_POST['id'])->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
// if(!isset($_GET['ajax']))
// $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
// else
// throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
Dovrebbe funzionare utilizzando $_POST invece di $_GET
public function actionMioDeletePersonalizzato($id)
{
if(Yii::app()->request->isPostRequest)
{
// we only allow deletion via POST request
$this->loadModel($_POST['id'])->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_POST['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
// else
// throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
oppure prova ad aggiungere come secondo parametro della action: $ajax.
Utilizza poi la variabile attuale $ajax al posto di $_GET[‘ajax’]
public function actionMioDeletePersonalizzato($id, $ajax)
{
if(Yii::app()->request->isPostRequest)
{
// we only allow deletion via POST request
$this->loadModel($_POST['id'])->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($ajax))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
// else
// throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
ho avuto il tuo stesso problema in passato…e mi sono accorto che se il parametro che passi in post è del tipo $orderId ,il parametro del metodo actionMioDeletePersonalizzato($id) si aspetta $orderId e non $id!