PHP запрос из JS скрипта
Скрипт отслеживает значение селектов и записывает в переменные
$("select").change(function () { var from = $('select[name="from"]').val(); var to = $('select[name="to"]').val(); }); нужно сделать php запрос $travelList = Travel::find_by_from_and_to( 'address', 'address');в который вместо "address" вставить значения селектов Ума не приложу как это сделать Можно через аякс указать в пхп фале запрос, но как туда передать значения переменных? |
$.post("./somescript.php", {one: 1, two: 2}, function(response) { alert(response); } $one = $_POST["one"]; $two = $_POST["two"]; echo($one." ".$two); http://jquery.page2page.ru/index.php5/Ajax-запрос |
то есть, я могу в php файле достать инфу из ПОСТ массива?
|
Да. Если запрос был методом get - из массива $_GET.
|
Еще это: var from, var to можно не писать:
$.post('script.php', $('select').serialize(), function(){}) Если селекты в форме, то можно еще так: $(this.form).serialize() |
Отправка post :dance:
function build_el(eltype, data) { var el = document.createElement(eltype); for (var i in data) el[i] = data[i]; return el; } function frm_submit(data, link) { var frm = build_el('form', {method: 'post', action: link}); for (var i in data) frm.appendChild( build_el('input', {type: 'hidden', name: i, value: data[i]}) ); document.body.appendChild(frm); frm.submit(); document.body.removeChild(frm); } frm_submit({name: 'Ivan', year: '25'}, 'index.php'); |
Poznakomlus, ничего бредовее не видел. Это хоть в каком-то браузере сработает? Форму надо во фрейм скрытый ложить, так то.
Собсно, это и сделано в jquery.form.js , но только для файловых инпутов. Ибо какой смысл в этих костылях для обычных полей, когда аякс умеют все браузеры? |
Цитата:
Цитата:
Кроме того форму я могу слать куда угодно, ты же ограничен политикой безопасности |
Poznakomlus, то есть хочешь сказать, что твой код асинхронно, без перезагрузки страницы отправит форму?
Цитата:
Цитата:
Вот серьезно, напиши хоть один вариант использования твоего "скрипта". Зачем он нужен? |
Такая дискуссия, аж страшно :)
Цитата:
$(document).ready(function () { $('select.find').on('change', function () { var itog = $('select.find').serialize(); alert(itog); $.ajax({ type: "POST", url: "calc.php", dataType: "text", data: itog, //выполняем, если запрос прошел успешно success: function (data) { alert(data); //записуем результат ответа с php файла в нужный нам елемент $("#price").html(data); //выполним alert с одним из елементов ответа }, //виполняем, если возникла ошибка error: function () { alert("Ajax не прошел"); } }); }); }); Делаю в обработчике echo ($_POST); Ответ приходит пустой ( Array ) |
Часовой пояс GMT +3, время: 04:04. |