Я застрял с извлечением моей отправленной переменной через функцию ajax POST.Не могли бы вы мне помочь?
Мой код Jquery:
$.ajaxSetup ({
cache: false
});
var selected = new Array();
$(document).ready(function() {
$('.value').click(function () {
if($(this).hasClass('strong'))
{
selected.splice(selected.indexOf(this.innerHTML), 1);
submitData(selected);
$(this).removeClass('strong');
}
else
{
selected.push(this.innerHTML);
submitData(selected);
$(this).addClass('strong')
}
});
});
function submitData(arDat) {
var arrayData = {"param1" : JSON.stringify(arDat)};
$.ajax({
type: 'POST',
url: 'http://localhost.local/coconut/trunk/challenges/values',
data: arrayData,
dataType: 'json',
success: function(data){
console.log(arrayData);
},
error: function(message){
alert(message);
}
});
}
Функция моего контроллера CakePHP:
function values() {
if ($this->RequestHandler->isAjax()) {
$this->autoRender = false;
Configure::write('debug', 0);
$params = json_decode($_POST['param1']);
//$result = json_encode($params);
$this->set('submitValue', $params);
} else {
$this->redirect(array('controller' => 'challenges', 'action' => 'index'));
}
}
И в файле view.ctp:
<?php debug($submitValue); ?>
Но я получаю следующую ошибку: Уведомление (8): неопределенная переменная: submitValue
В firebug я вижу это:
Parametersapplication/x-www-form-urlencoded
param1 ["Business","Life","Health"]
Source
param1=%5B%22Business%22%2C%22Life%22%2C%22Health%22%5D
Кто-нибудь знает, что ячто-то не так?
Спасибо!
Редактировать:
Чуть больше пояснений о том, что я хочу .. Я хочу использовать $ this-> set ('submitValue', $PARAMS);(поэтому $ submitValue) в другом месте в другом представлении.