Перейти к контенту

Форуский AJAX - как отправить переменные в php-скрипт POST методом ?


Рекомендуемые сообщения

Доброго времени суток.

 

Есть скрипт :

 

function game_pusk()
{
//----------------------------------
// Using fancy js?
//----------------------------------

if ( ! use_enhanced_js )
{
	return;
}

var fields = new Array();

fields['udar1'] = document.forms['RAKETA777'].udar1.value;
fields['text'] = document.forms['RAKETA777'].text.value;
fields['clan_id'] = document.forms['RAKETA777'].clan_id.value;

/*--------------------------------------------*/
// Main function to do on request
// Must be defined first!!
/*--------------------------------------------*/

do_request_function = function()
{
	//----------------------------------
	// Ignore unless we're ready to go
	//----------------------------------

	if ( ! xmlobj.readystate_ready_and_ok() )
	{
		xmlobj.show_loading();
		return;
	}

	xmlobj.hide_loading();

	//----------------------------------
	// INIT
	//----------------------------------

	var ajax_return = xmlobj.xmlhandler.responseText;

	if ( ajax_return != 'error' )
	{
		var vivod = document.getElementById('raketa');
		vivod.innerHTML = ajax_return;
	}

	return;		
}

//----------------------------------
// LOAD XML
//----------------------------------
xmlobj = new ajax_request();
xmlobj.onreadystatechange( do_request_function );
var url = ipb_var_base_url+'autocom=aviaudar&do=run';
var xmlreturn = xmlobj.process( url );

return;
}

 

Подскажите, как мне отправить переменные fields['udar1'], fields['text'], fields['clan_id'] в ipb_var_base_url+'autocom=aviaudar&do=run методом POST ?

Заранее спасибо. :D

Ссылка на комментарий
Поделиться на других сайтах

И еще один злободневный вопрос.

Начинает выполняться аякс, пишут типа загрузка и тут бах - страница обновляется.

С чем это можно быть связано ? Раздражает очень.

Причем скрипт самый простейший, например echo "123";

 

Нашел ошибку

Ошибка: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://domain/jscripts/ips_xmlhttprequest.js :: anonymous :: line 258"  data: no]
Источник: http://domain/jscripts/ips_xmlhttprequest.js
Строка: 258

 

Строка 258 :

return ( this.xmlhandler.readyState == 4 && this.xmlhandler.status == 200 ) ? true : false;

 

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

Скачайте "Ajax Быстрый ответ" от Sannis'а и посмотрите, как сделано там.) Конкретно - js файл.

 

Возможно, ошибаюсь, но вроде бы там через POST отправляется.

Ссылка на комментарий
Поделиться на других сайтах

Можно ещё проще, поиском по слову post в папке скриптов форума :D Неужели не нашлось примеров?

 

P.S. Я не обещаю что это именно post.

Ссылка на комментарий
Поделиться на других сайтах

аякс никогда не отправляет по методу пост, то что там написано - просто наукообразие

если бы аякс отправлял пост, то можно было бы отправлять файлы прямо по document.getElementById('file').value

а так приходится извращатся с iframe

Ссылка на комментарий
Поделиться на других сайтах

По-моему мы эту тему уже затрагивали и я тогда сказал, что если бы ажакс не отправлял данные по методу POST то данные, переданные через ajax были бы недоступны в переменных $_POST

Так что Архар, мне непонятно твоё мнение.

 

если бы аякс отправлял пост, то можно было бы отправлять файлы прямо по document.getElementById('file').value

а так приходится извращатся с iframe

У себя на форуме я отправляю через ажакс, никкакого iframe там нет. Использую getElementById.

 

Как сделано в стандартном форуме 2.х я не знаю, но то что отправлять через POST можно, это факт.

Возможно конечно именно в стандартном IPB отправляется через GET, но я у себя на форуме отправляю через POST.

Но вопрос ведь был про ajax вообще, а не про "ajax в форуме ipb" не так ли? Поэтому со всей ответственностью могу заверить что через ajax отправлять данные в POST можно.

Ссылка на комментарий
Поделиться на других сайтах

файл аттачишь через аякс?

перезагружается страница, не вижу аякс загрузки файла

 

 

 

 

 

про $_POST хрен знает

ибо используем же мы $_POST['Post'] в аякс-быстром-ответе

 

 

 

 

Но вопрос ведь был про ajax вообще

название темы -

Форуский AJAX

 

собственно как отправить с помощью форумского аякса пост методом

var xmlreturn = xmlobj.process( url, 'POST', xmlobj.format_for_post(fields) );

Ссылка на комментарий
Поделиться на других сайтах

файл аттачишь через аякс?

перезагружается страница, не вижу аякс загрузки файла

При чём тут файл прости?

Вопрос был в чём? "как отправить переменные в php-скрипт POST методом"

Я имел ввиду ответ без перезагрузки страницы.

 

собственно как отправить с помощью форумского аякса пост методом

Ну. И отправляется он там именно POST'ом.

 

Вот файлы в посты загружаются может как-то и не так.

Ссылка на комментарий
Поделиться на других сайтах

С ошибкой разобрался ( при вызове функции нужно было добавить return false )

 

По поводу post :

 

<form name=\"RAKETA777\" method=\"POST\" action=\"#\">
<input type=\"hidden\" value=\"{$this->clan_id}\" name=\"clan_id\">
...
<textarea rows=\"3\" name=\"text\" cols=\"60\"></textarea><br />
<input type=\"submit\" value=\"ОГОНЬ\" onclick=\"game_pusk(); return false;\">
</form>

 

 

fields['clan_id'] = document.forms['RAKETA777'].elements['clan_id'].value;

Верно ?

 

fields['text'] = document.forms['RAKETA777'].text.value;

или

fields['text'] = document.forms['RAKETA777'].elements['text'].value;

 

?

 

И потом в скрипте будут ли переменные доступны через $this->ipsclass->input или только через $_POST ?

 

Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

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

Надо дебажить. Судя по ошибке, что-то со связью, как мне кажется. Можно уточнить на сайте Мозиллы.

Я забыл добавить return false; после вызова функции.

Пост исправил.

Ссылка на комментарий
Поделиться на других сайтах

Переменный будут доступны и там и там, в input в очищенном виде.
Ссылка на комментарий
Поделиться на других сайтах

Проверяйте код построчно, записалось ли в fields всё что нужно.
Ссылка на комментарий
Поделиться на других сайтах

Сделал по другому :

 

...

var udar1 = document.forms['RAKETA777'].elements['udar1'].value;
var text = document.forms['RAKETA777'].elements['text'].value;
var clan_id = document.forms['RAKETA777'].elements['clan_id'].value;

...

var xmlreturn = xmlobj.process(url, 'POST', /*xmlobj.format_for_post(fields)*/'clan_id='+clan_id+'&udar1='+udar1+'&text='+text);

 

Заработало. ;)

 

Радио - это жесть :D

 

	if ( document.RAKETA777.udar1[0].checked === true ) { var udar1 = document.RAKETA777.udar1[0].value; }
else if ( document.RAKETA777.udar1[1].checked === true ) { var udar1 = document.RAKETA777.udar1[1].value; }
else if ( document.RAKETA777.udar1[2].checked === true ) { var udar1 = document.RAKETA777.udar1[2].value; }
else { var udar1 = 0; }

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

При записи в БД ( update ), в нее заносятся "кракозябры" вместо русских букв.

Добавлял header с самыми различными кодировками ( koi8-r,u, win1251, utf8, iso8859-1 ) - бесполезно.

Единственно меняются кракозябры, а в некоторых случаях просто знаки вопроса.

 

Делал print $var; - все нормально, русские буквы видны.

Запись в бд, и текст портится.

 

Если не использовать AJAX, то такой проблемы не возникает.

Кодировка таблиц в БД utf-8.

 

Можно какнибудь это исправить ?

Ссылка на комментарий
Поделиться на других сайтах

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.