2013-10-16 2 views
0

я стараюсь, чтобы получить результат переменного контроллера, как это:Получить переменный контроллер с JQuery

$('#ajax-test').click(function() { 
    $.get('/ajax', function(data) { 
     $('#ajax-test').html('$result').html(data); 
    }); 
}); 

У меня есть только ошибки, так что правильный путь?

+1

Что такое '$ result'? Ваш вопрос довольно расплывчатый. Если данные html, то просто '$ ('# ajax-test'). Html (data)' или '$ ('# ajax-test'). Load ('/ ajax')' – PSL

+0

oh sorry, $ result - это переменная в моем контроллере – UbuntuClash

ответ

3

Если вы хотите получить значение из переменной контроллера , Вам следует указать код следующим образом.

<script type="text/javascript"> 
$(function(){ 
    $('#ajax-test').click(function() { 
     $.get('/ajax', function(data) { // no action specified so index will default. 
      $('#ajax-test').html('$result').html(data); 
     }); 
    }); 
}) 
</script> 

и в вашем контроллере.

public function index(){ 
    $this->layout = null; // layout not required. 
    $this->autoRender = false; // view file is also not required. 

    // other statements. 
    echo $result; 
} 
2

, если вы пытаетесь получить значение контроллера просто сделать контроллер эхо или отобразить результат:

public function ajax() { 
    echo $result; 
} 

так, что функция (данные) получит значение функции автоматически.

, если вы действительно хотите, чтобы получить значение, включая переменную затем положить значения в массиве положить его в JSON и разобрать его в JQuery:

public function ajax() { 
    $array['result'] = 'hello world'; // where result is your variable name 
    echo json_encode($array); 
} 
+0

Но если у меня есть другие переменные? Я ищу способ напрямую получить переменную. – UbuntuClash

+2

@YoPlait, что Vainglory07 говорит, что вам нужно иметь любую функцию, отвечающую на эхо, визуализацию или возврат вызова Ajax (выберите вашу терминологию) значение, которое вы хотите вернуть в ответ, которое будет предоставлено вам после запроса является неполным в переменной 'data' внутри вашей функции успеха Ajax. То, что вы попросили, не имеет смысла, поскольку после загрузки страницы любые переменные, установленные из предыдущего запроса, больше не существуют. Вы не можете напрямую обращаться к переменной так, как вы думаете; ваш сервер в основном должен «отвечать» на нужное вам значение. –

+1

очень хорошо сказал: D спасибо @Teeg. – Vainglory07

Смежные вопросы