Как организовать связь между php и angularjs

312
26 ноября 2016, 18:01

Приветствую!

Имеем, для примера, такую функцию в главном контроллере:

self.calculate = function (event) {
    var input_value = event.currentTarget.value;
    console.log(input_value); // Здесь всё хорошо, всегда выводит то, что надо.
    $http.get('base/calc_logic.php?t=1', {formula: input_value}).success(function (data) {
        console.log('success');
        console.log('data:', data);
    });
};

Файл calc_logic.php содержит вывод полученных данных:

foreach($_GET as $key => $val) {
    echo 'Key: [' . $key . '] -> Val: [' . $val . "]\n\r";
}

Ну и соответственно, что бы не было в переменной input_value, выводит всегда только

success
data: Key: [t] -> Val: [1]


Гугл упорно не выдаёт ничего полезного, может кто подскажет?

Answer 1

Чтобы передать данные, нужно вторым аргументом передать {params: data}. В итоге: $http.get('base/calc_logic.php?t=1',{params:{formula:input_value}})....

Answer 2

AngularJS работает немножко не так. Для отправки параметров как вы хотите, нужно их обернуть в {params : {formula: input_value}}. Должно получиться так:

self.calculate = function (event) {
    var input_value = event.currentTarget.value;
    console.log(input_value); 
    $http.get('base/calc_logic.php?t=1', {params : {formula: input_value}})
         .success(function (data) {
        console.log('success');
        console.log('data:', data);
    });
};
READ ALSO
Выборка результата из массива

Выборка результата из массива

Есть html страница на которой есть выпадающий список

229
angular select dynamic optgroup

angular select dynamic optgroup

получаю json такого формата

326
Сравнить два массива js

Сравнить два массива js

Как сравнить два массива и если элемента нету, то добавить в него из другого? Пример:

530