Передача пост запроса в файл
Иногда полезно, иногда удобно использовать JS для отправки пост запросов в php файл.
В основном большинство вебмастеров при необходимости передать данные в файл создаю формы, добавляют кнопочки для отправки пост/гет запросов, это конечно же не плохо, но на мой взгляд если данных не много и нужно передать одно два значения, то желательно воспользоваться JS.
Может быть кто то собирается посетить город Черновцы и конечно же хочет провести свое время гуляя по паркам или же на природе, но представьте себе если погода в этот день дождливая, лужи и прочее, пользуйтесь для этого сайтом погода в Черновцах.Давайте предположим что у нас есть файл (test.php) в котором нам необходимо принять пост запрос.
<?php
$_POST['id'];
$_POST['rel'];
Но так же лучше сделать какую нибудь простую проверку для примера, чтобы нам было ясно что мы все приняли и обработали, поэтому давайте изменим php код на следующий
<?php
if($_POST['id'] && $_POST['rel'])
{
echo ok;
}
На страницах сайта мы имеет кнопочку с содержанием id и rel вот такого плана
<div class="check" id="5" rel="news">отправить</div>
Привязываться будем к class, это немножко не правильно, но терпимо, лучше привязываться к id если он не формируется самим PHP скриптом и имеет одно и тоже значение.
Теперь нам нужно первым делом подключить ajax библиотеку
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
Далее уже можно писать функцию на JS для отправки данных в файл
<script>
// Какая функция всегда активна
$(function(){
start();
});
// Определяем клик и запускаем функцию setup
function start(){
$('div.check').click(setup);
}
// Начинаем писать функцию отправки данных значений кнопки
function setup(){
var $me = $(this);
var id = $me.attr('id');
var rel = $me.attr('rel');
// Если кнопка не одна, то нужно определить по кликнули
var $val = $('div.check[id="'+id+'"]');
var val = $val.html();
// передаем пост запрос
$.post('http://site.ru/test.php',{id:id,rel:rel},function(data){
// проверим получили ли мы в файле test.php данные
// если получили php нам отдаст ok
if(data == 'ok')
{
val = 'Все в порядке';
}
else
{
val = 'что то не так';
}
$val.html(val);
});
return false;
}
</script>
В последнем скрипте мы делаем так же проверку, чтобы мы смогли понять, принял ли данные PHP или же нет, в том случае если данные он не принял мы изменим содержимое кнопки на «что то не так». Это очень удобно как вам так и вашим пользователям, а самое главное ничего сложного при разработки данного скрипта.
4 комментария
Например?:
В самом файле пишем что то вроде
Тебе это нужно? я просто не вижу полной картины того что тебе нужно.