Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача по ссылке методом POST (https://javascript.ru/forum/misc/16244-peredacha-po-ssylke-metodom-post.html)

zsaz 31.03.2011 06:29

Передача по ссылке методом POST
 
echo "<a href='index.php' onclick=\"javascript: $.post( 'index.php', {id: '1' });\">ссылка</a>";

Судя по работе кода выше происходит следующее:
1) Загружается файл index.php в нем есть код. if(isset($_POST['id'])) mysql_query(удалить информацию с базы);
2) Снова загружается файл index.php но уже без одной записи в базе. И если в этом файле прописать echo $_POST['id'] то ничего не выводится, т.к. второй раз файл index.php загружается без параметров POST

Но я хочу в конечном итоге вывести на экран echo $_POST['id'];
Может надо как-то по-другому передавать в файл??

Johny 31.03.2011 12:21

Интересный подход... А Вы уверены что Вам нужен аякс для этого?Может, лучше обойтись только php?Задумка не очень ясна...

Skipp 31.03.2011 12:41

правьте то место где происходит, второй переход
или используйте не POST а GET

x-yuri 31.03.2011 12:43

<a id="delete-link" href="#">delete</a>
...
<script type="text/javascript">
$('#delete-link').click(function(){
    $.post('index.php', {'id': 1});
    return false;
});
</script>

x-yuri 31.03.2011 12:47

а лучше даже так
<a id="delete-link" href="#">delete</a>
...
<script type="text/javascript">
$('#delete-link').click(function(){
    $.ajax('index.php', {
        'data': {
            ''id': 1
        },
        'type': 'post',
        'error': function(){
            alert('ошибка при удалении ...');
        }
    });
    return false;
});
</script>

SV0L0CH 31.03.2011 14:18

А как начёт поместить ссылку в <form/> и при нажатии делать submit ?

zsaz 01.04.2011 04:59

На счет аякса надо подумать. Но все равно попробую более подробно описать свой вопрос.

http://mashintop.ru/announcement_aut...s=see_all_auto

здесь объявления. При нажатии по объявлению вы переходите на другую страницу, при переходе передается очень много GET параметров. Яндекс такие страницы не индексирует. Вот я и хочу передавать все эти параметры, кроме id, через POST.

Передавать параметры нужно, чтобы можно было сортировать, а так же вернуться на страницу поиска объявлений с теми же параметрами, что были заданы изначально.

На счет скрытой формы тоже хорошее предложение, надо попробовать, вдруг чего получится.

x-yuri 01.04.2011 09:02

Цитата:

Сообщение от SV0L0CH
А как начёт поместить ссылку в <form/> и при нажатии делать submit ?

в чем разница?

Цитата:

Сообщение от zsaz
здесь объявления. При нажатии по объявлению вы переходите на другую страницу, при переходе передается очень много GET параметров. Яндекс такие страницы не индексирует. Вот я и хочу передавать все эти параметры, кроме id, через POST.

ага, а потом при попытке обновить страницу пользователь увидит "Вы хотите повторно оправить какие-то данные?". И как в результате пользователь получит ссылку на страницу? Добавит страницу в закладки?

zsaz 04.04.2011 04:22

Цитата:

Сообщение от x-yuri (Сообщение 98840)
в чем разница?


ага, а потом при попытке обновить страницу пользователь увидит "Вы хотите повторно оправить какие-то данные?". И как в результате пользователь получит ссылку на страницу? Добавит страницу в закладки?

Так будет id объявления. Конечно, если пользователь нажмет Ф5, то да, будут просить отправить данные, но на сайте есть все ссылки, чтобы не нажимать ни назад (в браузере), ни Ф5. А если добавить без параметров, которые будут передаваться ПОСТом, то по умолчанию они будут приравнены к пустоте или 0

x-yuri 04.04.2011 08:49

Цитата:

Сообщение от zsaz
при переходе передается очень много GET параметров. Яндекс такие страницы не индексирует.

вообще, похоже на очередные слухи из области SEO. Но даже если так, может разработчики Яндекса намекают, что пользователю не нужно столько параметров? И в конце концов, если в карте сайта будет ссылка с нормальным количеством параметров, Яндекс ее тоже не проиндексирует?

ну и напоследок можно процитировать руководителя веб-поиска Яндекса
Цитата:

Результаты исследования не стали для нас неожиданностью, так как мы посещаем известные seo-конференции и представляем себе мнение seo-сообщества. Но рады, что качеству и удобству пользования сайтом оптимизаторы придают большое значение. Собственно, это то, о чем мы говорим долгие годы. По понятным причинам мы не можем комментировать каждый фактор в отдельности, но с тех пор наша позиция не изменилась и основные ее тезисы следующие:
- Яндекс категорически не приветствует любые виды накруток любых факторов, целью которых является влияние на ранжирование, а не реальное улучшение качества сайта. Результат таких накруток не может быть долговременным и надежным.
- Яндекс приветствует действия, направленные на создание качественных сайтов (с интересным оригинальным контентом, приятным дизайном, удобным интерфейсом) - все это делает сайт более привлекательным с точки зрения пользователя, и именно такие сайты Яндекс считает более релевантными.

Исходя из вышеуказанных принципов, мы можем дать оптимизаторам следующие рекомендации:
Основные усилия следует сосредоточить не на подгон значений каких-либо параметров и характеристик страниц и сайтов под мифическое «идеальное» значение, а на реальное повышение качества сайта с точки зрения пользователя. Анализируйте бизнес и интересы ваших заказчиков (да, для этого нужно стать немного маркетологом), изучайте потребности посетителей сайта (да, для этого нужно анализировать их поведение на сайте). Старайтесь делать сайт таким, чтобы Вам самим хотелось им воспользоваться, чтобы его смело можно было рекомендовать своим друзьям и членам семьи, как лучший сайт в своей области. Такие сайты быстро находят свою аудиторию, как в поисковых системах, так и вне их. Посетители таких сайтов чаще становятся не просто покупателями, но и постоянными клиентами, а также рекомендуют сайт друзьям и знакомым. Именно это является главным показателем удовлетворенности и главным «поведенческим фактором» любого бизнеса - как онлайнового, так и оффлайнового.
http://топэксперт.рф/


Часовой пояс GMT +3, время: 19:18.