У вас, кажется, запутанный код. Ваш код делает запрос get
на сервер, но тогда ваше действие, которое не является тем, с которым вы отправили запрос, проверяет параметры post
! Вам нужно разобраться, какие запросы вы делаете, и проверить значения соответственно. Вот два сценария;
Случай 1 Вы держите Аякс вызов как get
запроса, поэтому YOR код
$activeMassScriptJS= <<<JS
$(document).ready(function(){
$("button.product-update").on('click',function(e){
e.preventDefault;
var keys = $('#products-grid').yiiGridView('getSelectedRows');
$.get('mass-status-movie', {keylist : keys}, function(data) { alert(keys[0]);});
return false;
});
});
Значение, которые вы отправили через get
запроса теперь будут доступны в двух направлениях. При действии, на которое вы указали, т. Е. actionMassStatusMovie()
, вы можете получить к ним доступ таким образом;
public function actionMassStatusMovie($keyList){
//Your code here
}
Вы могли бы использовать это, если вы всегда хотели параметр keyList
присутствовать.
Вы также можете получить доступ к параметрам get
в любом месте вашего скрипта, например, Yii::$app->request->get('keylist')
. В этом случае вам не нужен параметр $ KeyList, так что вы можете просто использовать
public function actionMassStatusMovie(){
$keyList = Yii::$app->request->get('keylist');
}
Случай 2
В качестве альтернативы, вы можете отправить данные через post
запрос. В этом случае, вы не используете этот параметр, просто проверить его, как вы делали,
public function actionMassStatusMovie(){
$keyList = Yii::$app->request->post('keylist');
}
Но чтобы сделать это, вам нужно изменить исходный код яваскрипта сделать post
запрос.
$activeMassScriptJS= <<<JS
$(document).ready(function(){
$("button.product-update").on('click',function(e){
e.preventDefault;
var keys = $('#products-grid').yiiGridView('getSelectedRows');
$.post('mass-status-movie', {keylist : keys}, function(data) { alert(keys[0]);});
return false;
});
});
get
и post
запросы разные, и ваш код должен быть последовательным в том, как они используются!
Я не могу понять вашу ситуацию. Как я понял, ваш JS работает в '/ movie/index', и вам нужно отправить GET-запрос в'/movie/index? Parameter = value', правильно? Но у вас есть еще один URI в вашем скрипте: '$ .get ('mass-status-movie'' ... И действие предоставлено'/something/massdelete' ... –
Да, мне нужно отправить запрос на получение. удалите все элементы из сетки. – Demolog
Ну, вы отправляете запрос не на действие, которое вы предоставили. –