<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AJAX запросы]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6818&amp;type=atom" />
	<updated>2012-02-17T05:41:11Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6818</id>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56949#p56949" />
			<content type="html"><![CDATA[<p>Rumata, AJAX с легкостью реализуется с помощью сторонних библиотек, это да. Тот же jquery например. А так же, кажется, в greasemonkey/scriptish есть прекрасные функции для работы с запросами. Но ведь хочется научится самому. Так ведь. А за ссылку спасибо.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-17T05:41:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56949#p56949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56930#p56930" />
			<content type="html"><![CDATA[<p>Ajax не имеет ничего специфического более заложенного в протоколах обмена данными. У него есть свои особенности реализации, свои трудности, но передача данных осуществляется согласно используемым протоколам. Поэтому можно как скачать информацию так и загрузить на сервер. </p><div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>через Ajax запрос можно передавать хоть переменные, хоть файлы</p></blockquote></div><p>И да и нет. Нельзя передать переменные, можно передать значения, хранимые в переменных. Есть определенные трудности браузерной реализации то ли POST-запросов, то ли пересылки файлов. </p><p><strong>DnsIs</strong>, коллеги<br />Не сочтите за рекламу. По ссылке ниже есть модуль для работы с Ajax. Код далек от совершенства, но он рабочий и я его иногда использую. И с успехом. <br /><a href="http://code.google.com/p/jsxt/source/browse/trunk/js/Ajax.js">http://code.google.com/p/jsxt/source/br … js/Ajax.js</a></p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-02-16T21:49:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56930#p56930</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56902#p56902" />
			<content type="html"><![CDATA[<p>Коллеги, интересная темка...<br />насколько я понимаю, после беглого просмотра, через Ajax запрос можно передавать хоть переменные, хоть файлы ? Причём по ходу дела в обоих направлениях (Клиент &lt;-&gt;Сервер)<br />Не ?<br />Случайно ни у кого рабочего примерчика серверной стороны на ASP нет ? (для передачи имени переменной + её значение) в направлении сервер -&gt; клиент.</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2012-02-16T11:10:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56902#p56902</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56882#p56882" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Какой интересный финт.</p></blockquote></div><p>Обычный финт. Сравниваем свойство и константу, результат сравнения присваиваем переменной.</p></blockquote></div><p>Суть то я понял (не понял не уснул бы 8), но сам такую конструкция не употреблял.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-16T02:31:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56882#p56882</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56868#p56868" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Какой интересный финт.</p></blockquote></div><p>Обычный финт. Сравниваем свойство и константу, результат сравнения присваиваем переменной.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-02-15T12:17:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56868#p56868</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56866#p56866" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>...complete = xmlhttp.readyState == 4...</p></blockquote></div><p>Какой интересный финт. Чем больше изучаю JavaScript/Jscript, тем меньше понимаю. 8)</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-15T09:55:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56866#p56866</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56864#p56864" />
			<content type="html"><![CDATA[<p>Вот 1 пример (мой, в 1 посте) у меня не работает. Хотя может быть ошибка как раз и не в том месте в котором я думаю. Пошел читать ваши мысли. Спс.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-15T09:53:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56864#p56864</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56862#p56862" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>application\/x-www-form-urlencoded</p></blockquote></div><p>Обратный слеш лишний, достаточно написать <strong>application/x-www-form-urlencoded</strong>. </p><p>Эту?<br /></p><div class="quotebox"><cite>DnsIs пишет:</cite><blockquote><p>При многократных запросах, достаточно создать объект (чmlhttp = new XMLHttpRequest()) один раз или создавать всегда новый?</p></blockquote></div><p>Не задумывайтесь об этом. Тем более, если Вы напишите несколько вспомогательных функций для обслуживания запросов, то заметите, что это не так важно. </p><p>Создание объекта xmlhttp не трудоемкая процедура, отсутствием переменной xmlhttp в глобальной области видимости тоже можно не беспокоиться, когда все решается с помощью функций обратного вызова. Например:</p><div class="codebox"><pre><code>
function ajaxQuery(url, options)
{
	var xmlhttp = new XMLHttpRequest();
	xmlhttp.open(options.method || &#039;GET&#039;, url, options.async, options.username, options.password);

	var result;

	if ( typeof options.onreadystatechange == &#039;function&#039; ) {
		xmlhtp.onreadystatechange = function()
		{
			result = options.onreadystatechange(xmlhttp);
		};
	}

	if ( options.headers ) {
		for (var p in options.headers) {
			xmlhttp.setRequestHeader(p, options.headers[p]);
		}
	}

	xmlhttp.send(options.content);

	return result;
};</code></pre></div><p>Синхронный запрос<br /></p><div class="codebox"><pre><code>
var URL = &lt;...&gt;;

var html = ajaxQuery(URL, {
	onreadystatechange: function(xmlhttp)
	{
		if ( xmlhttp.readyState == 4 &amp;&amp; xmlhttp.status == 200 ) {
			return xmlhttp.responseText;
		}
	}
});</code></pre></div><p>Асинхронный запрос, выполненный в среде WSH<br /></p><div class="codebox"><pre><code>
var URL = &lt;...&gt;;

var complete = false;
var html;
ajaxQuery(URL, {
	async: true, 
	onreadystatechange: function(xmlhttp)
	{
		complete = xmlhttp.readyState == 4;
		if ( complete &amp;&amp; xmlhttp.status == 200 ) {
			html = xmlhttp.responseText;
		}
	}
});

// Ждем завершения асинхронного запроса
while ( ! complete ) {
	WScript.Sleep(100);
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-02-15T09:39:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56862#p56862</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56859#p56859" />
			<content type="html"><![CDATA[<p>Читал, читал. Но описанную выше &quot;проблему&quot;, этим ресурсом я решить не смог.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-15T09:10:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56859#p56859</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56848#p56848" />
			<content type="html"><![CDATA[<p>Хороший ресурс: - <a href="http://xmlhttprequest.ru/">http://xmlhttprequest.ru/</a></p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-02-15T06:45:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56848#p56848</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56837#p56837" />
			<content type="html"><![CDATA[<p>Сегодня Гугл стал работать гораздо лучше чем вчера.<br />Ответ нашелся в <a href="http://www.akvi.ru/ajax.html">mozill-овских мануалах.</a><br />Уже не в первый раз именно Мозилла дает ответы.</p><p>Спасибо всем.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-15T04:48:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56837#p56837</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56808#p56808" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>При многократных запросах, достаточно создать объект (чmlhttp = new XMLHttpRequest()) один раз или создавать всегда новый?</p></blockquote></div><p>Достаточно создать один раз.</p>]]></content>
			<author>
				<name><![CDATA[matiz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25996</uri>
			</author>
			<updated>2012-02-14T12:50:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56808#p56808</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AJAX запросы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=56802#p56802" />
			<content type="html"><![CDATA[<p>Здравствуйте все.</p><p>Стыдно признать, но никогда ранее не пробовал писать асинхронные запросы, но некоторое время назад стали нужны.<br />Вроде бы как ничего и сложного, но на грабли уже пару раз наступал. Вот сейчас опять. Гуглить уже не получается.</p><p>Вот 2 кода. Какой правильный (если таковой имеется)?</p><div class="codebox"><pre><code>url1 = &quot;http://&quot;; url2 = &quot;http://&quot;; param1=&quot;300&quot;; param2=&quot;400&quot;;

xmlhttp = new XMLHttpRequest();

SendRequestPOST(url1, param1, Request1);
SendRequestPOST(url2, param2, Request2);

function Request1() {
    if (xmlhttp.readyState === 4) {
        if (xmlhttp.status === 200) {
            alert(&quot;1 запрос отработал&quot;);
        }
    }
}

function Request2() {
    if (xmlhttp.readyState === 4) {
        if (xmlhttp.status === 200) {
            alert(&quot;2 запрос отработал&quot;);
        }
    }
}    

function SendRequestPOST(url, parameter, func) {
    xmlhttp.open(&quot;POST&quot;, url, true);
    xmlhttp.onreadystatechange = func;        
    xmlhttp.setRequestHeader(&quot;Content-type&quot;, &quot;application\/x-www-form-urlencoded&quot;);
    xmlhttp.overrideMimeType(&quot;text/html;charset=windows-1251&quot;);
    xmlhttp.send(parameter);
}</code></pre></div><p>и<br /></p><div class="codebox"><pre><code>url1 = &quot;http://&quot;; url2 = &quot;http://&quot;; param1=&quot;300&quot;; param2=&quot;400&quot;;

xmlhttp = new XMLHttpRequest();
xmlhttp.open(&quot;POST&quot;, url1, true);
xmlhttp.onreadystatechange = Request1;        
xmlhttp.setRequestHeader(&quot;Content-type&quot;, &quot;application\/x-www-form-urlencoded&quot;);
xmlhttp.overrideMimeType(&quot;text/html;charset=windows-1251&quot;);
xmlhttp.send(param1);


xmlhttp2 = new XMLHttpRequest();
xmlhttp2.open(&quot;POST&quot;, url2, true);
xmlhttp2.onreadystatechange = Request2;
xmlhttp2.setRequestHeader(&quot;Content-type&quot;, &quot;application\/x-www-form-urlencoded&quot;);
xmlhttp2.overrideMimeType(&quot;text/html;charset=windows-1251&quot;);
xmlhttp2.send(param2);

function Request1() {
    if (xmlhttp.readyState === 4) {
        if (xmlhttp.status === 200) {
            alert(&quot;1 запрос отработал&quot;);
        }
    }
}

function Request2() {
    if (xmlhttp2.readyState === 4) {
        if (xmlhttp2.status === 200) {
            alert(&quot;2 запрос отработал&quot;);
        }
    }
}</code></pre></div><p>Вопрос такой: При многократных запросах, достаточно создать объект (чmlhttp = new XMLHttpRequest()) один раз или создавать всегда новый? (xmlhttp1, xmlhttp2, xmlhttp3...)</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2012-02-14T09:16:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=56802#p56802</id>
		</entry>
</feed>
