Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Использование $.post (https://javascript.ru/forum/jquery/2716-ispolzovanie-%24-post.html)

kaaron 03.02.2009 18:32

Использование $.post
 
У меня есть такой скрипт

<a href='#' id='aaa'>dfgsdfgdsfgsd</a>

<script>
     jQuery("#aaa").click(function()
	{
$.post(
  'view_cat.php',
      {
    type: "test-request",
    param1: '1',
    param2: 2
  },
  onAjaxSuccess2
);
	});

function onAjaxSuccess2(data)
{
$("#mydiv").load("view_cat.php");
}
</script>


Вообщем у меня скрипт работает тоесть он принимает от сервера ответ но я незнаю как в php скрипте принят параметры которые я передаю.
Я делал так $id = $_POST["param1"]; echo $id;

и скрипт ничего мне не выводит.

Подскажите кто может!!!!!

x-yuri 04.02.2009 09:42

куда он выводить должен? Думаю результаты твоего вывода ты можешь получить в параметре data. Или в журнал можешь выводить (trigger_error). А еще можешь воспользоваться firebug

kaaron 04.02.2009 10:55

Цитата:

Сообщение от x-yuri (Сообщение 11998)
куда он выводить должен? Думаю результаты твоего вывода ты можешь получить в параметре data. Или в журнал можешь выводить (trigger_error). А еще можешь воспользоваться firebug

Выводить должен в див с id="mydiv".

Скажи а что такое firebug и как его использовать

Kolyaj 04.02.2009 10:56

Цитата:

Сообщение от kaaron
Скажи а что такое firebug и как его использовать

http://yandex.ru/yandsearch?text=fir...rff&clid=39941

kaaron 04.02.2009 16:36

Проверил firebug! Но ничего понять не могу дает мне ответ вот такой


это тот ответ который мне нужен
POST http://test1.ru/doska/view_cat.php

Headers Post Response
ZAVINA A G


а это то что выводится на экран
GET http://test1.ru/doska/view_cat.php

Headers Post Response
<center><strong>Извените но в данной категории нет обьявлений!</strong></center>


Кто то может объяснить что єто все значит??? Пожалуйста!!!!!!!!!!!!!!

x-yuri 04.02.2009 16:47

у тебя сначала выполнятся POST-запрос, по завершении ты попадаешь в onAjaxSuccess2 и параметр data содержит то, что вывел php. После этого ты выполняешь еще один запрос и помещаешь результат в $("#mydiv"), но при этом никаких параметров не указываешь

а ссылки твои не работают

kaaron 04.02.2009 16:56

Ещё если можешь подскажи как это исправить???

x-yuri 04.02.2009 17:01

посылай один запрос (http://docs.jquery.com/Ajax/load#urldatacallback)

kaaron 04.02.2009 17:10

jQuery("#aaa").click(function()
{
form = document.getElementById("com");
id = form.id.value;

$.post(
'http://docs.jquery.com/Ajax/load#urldatacallback',
{
type: "test-request",
id: id,
name: "ghfhf"
},onAjaxSuccess2
);
});

если так то в firebug пишет так

Access to restricted URI denied" code: "1012
[Break on this error] xhr.open(type, s.url, s.async);

x-yuri 04.02.2009 17:13

ладно, скажу по-другому
ты в первом запросе используешь POST, во втором - GET. В первом указываешь параметры, во втором - нет. Тебе не нужно 2 запроса. А функция load тебе в самый раз здесь подойдет

p.s. а ссылка была, чтобы ты посмотрел что делает load и что в документации интересная информация содержится ;-)

kaaron 04.02.2009 17:18

Слушай я уже замучался с этим ajax сом лучше бы я все сделал на PHP фиг с ним что с перезагрузкой страниц.

Слушаю у меня на странице ещё один код который посылает запрос код в нем идентичный и все работает а этот нет. И я не пойму где у меня делается 2й запрос.

x-yuri 04.02.2009 17:23

Цитата:

Слушай я уже замучался с этим ajax сом лучше бы я все сделал на PHP фиг с ним что с перезагрузкой страниц
когда разберешься, как отлаживать - будет удобно ;-)

Цитата:

Слушаю у меня на странице ещё один код который посылает запрос код в нем идентичный и все работает а этот нет. И я не пойму где у меня делается 2й запрос
jQuery("#aaa").click(function()
    {
$.post( // РАЗ
  'view_cat.php',
      {
    type: "test-request",
    param1: '1',
    param2: 2
  },
  onAjaxSuccess2
);
    });
 
function onAjaxSuccess2(data)
{
$("#mydiv").load("view_cat.php"); // ДВА, причем результат первого (data) ты игнорируешь
}

kaaron 04.02.2009 17:37

Слушай спасибо за помощь вот теперь я разобрался у меня теперь все работает.

Только есть 2 вопроса если ли какая нибудь инструкция по firebug.

И как с помощью вот этой записи $("#mydiv").load("view_cat.php"); передать параметры в скрипт.

x-yuri 04.02.2009 18:01

Цитата:

если ли какая нибудь инструкция по firebug
http://getfirebug.com/docs.html
заметь, можно из страницы выводить информацию в консоль firebug (console api)

Цитата:

И как с помощью вот этой записи $("#mydiv").load("view_cat.php"); передать параметры в скрипт
http://docs.jquery.com/Ajax/load#urldatacallback
если не знаешь английский, посмотри хотя бы примеры

Photon 02.07.2009 19:55

Народ, я балдею с этого форума. Вроде по-русски объясняют, но люди так и не понимают ничего..

$("#aaa").click(function() {
    $.post('view_cat.php', {
          type: "test-request",
          param1: '1',
          param2: 2
       },
       function(data) {
          $('#mydiv').html(data);
       }
   });
});

SDone 09.07.2009 16:29

Вопрос офигительный
 
function viewinputimg (id)
	{
		$("#noview").css({display: ""});
		$.post(
				siteHttp+"/include/redimg.php?form=1",
					{
						type: "text/plain",
						id: id
					},
					  onAjaxSuccess
					);
					function onAjaxSuccess(data)
					{
						$("#noview").css({display: "none"});
					}
	}

$("#noview").css({display: "none"}); это простой квадратит показывающий прогрузку-ожидание.

Ну так вот проблема такая:
я жму-вызывается функция viewinputimg (id) - появляется загрузчик - отправляется запрос (передаю id и form-служебный в файл. Это работает. и я могу GET передать, а то ранее тут долго мусолили эту тему.).
Загрузчик повисает и все.
Данные не отправляются и разумеется не ворачиваются.
IE и firebug молчат.

Самое интересное что я иду с IE 8 с мозилы последней и оперы. сафари то же проверял и у меня все пашет.

А вот чел с мака сидит под оперой и сафай и не чего не пашет. Короче своей жизнью живет.

function viewinputimg (id)
	{
		$("#noview").css({display: ""});
		function viewinputimgDUBL(){
		$.post(
				siteHttp+"/include/redimg.php?form=1",
					{
						type: "text/plain",
						id: id
					},
					  onAjaxSuccess
					);
					function onAjaxSuccess(data)
					{
						$("#noview").css({display: "none"});
					}
		}
		viewinputimgDUBL();
	}


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

Ну и теперь самое главное прошу. Не пишите проверь то че в трех словах и то что гугл в руки. Я понимаю что все тут умные, но пожалуйста с примером и пояснением, иначе лучше не загрязнять тему :)


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