<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; POST запросы.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6795</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6795&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «POST запросы.».]]></description>
		<lastBuildDate>Tue, 03 Jul 2012 17:33:46 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61351#p61351</link>
			<description><![CDATA[<p>В общем кое-как разобрался : Если нужно отсылать данные в UTF-8 то подходит ф-ция encodeURIComponent() , а мне нужно было из СP1251 получить Urlencoded. Может кому еще пригодится в будующем : </p><div class="codebox"><pre><code>var trans=[];
var snart=[];
for(var i=0x410;i&lt;=0x44F;i++)
{
trans[i]=i-0x350;
snart[i-0x350] = i;
}
trans[0x401]= 0xA8;
trans[0x451]= 0xB8;
snart[0xA8] = 0x401;
snart[0xB8] = 0x451;
CP1251urlencode = function(str)
{
var ret=[];
for(var i=0;i&lt;str.length;i++)
{
var n=str.charCodeAt(i);
if(typeof trans[n]!=&#039;undefined&#039;)
n = trans[n];
if (n &lt;= 0xFF)
ret.push(n);
}

return escape(String.fromCharCode.apply(null,ret));
}</code></pre></div><p>У хромого как оказалось для пользовательских скриптов XMLHttpRequest() поддерживает кроссдоменные запросы поэтому что бы код не особо менять сделал аналогичную функцию :</p><br /><div class="codebox"><pre><code>GM_xmlhttpRequest = function(params) {
  var request = new XMLHttpRequest()
  
  request.onreadystatechange = function() {
    if (params.onreadystatechange) params.onreadystatechange(request)
    if (request.readyState == 4) {
      if (request.status &gt;= 200 &amp;&amp; request.status &lt; 400) if (params.onload) params.onload(request)
      else if (params.onerror) params.onerror(request)
    }
  }
  
  request.open(params.method, params.url, true)
  if (params.headers) for (name in params.headers)
    request.setRequestHeader(name, params.headers[name])
  
  request.send(params.data)
  return request

}</code></pre></div><p>В общем теперь в FF все отлично а в хроме застрял с парсингом ответа , я в этих делах только начинаю разбираться поэтому прошу помощи , подскажите чем проще воспользоваться ? <img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /></p><p>в FF реализовал аналогичное так : </p><div class="codebox"><pre><code>var parser = new DOMParser();
var doc = parser.parseFromString(response.responseText,&#039;text/html&#039;);</code></pre></div><p>А в хроме так не получилось <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (besik)]]></author>
			<pubDate>Tue, 03 Jul 2012 17:33:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61351#p61351</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=61316#p61316</link>
			<description><![CDATA[<div class="codebox"><pre><code>overrideMimeType  (&quot;text/html;charset=windows-1251&quot;);</code></pre></div><p>Спасает и меня.<br /> Но я столкнулся с проблемкой что параметры на русском языке некорректно передаются ...&nbsp; Я понимаю что передавать надо так :<br /> </p><div class="codebox"><pre><code> &quot;param=&quot;+encodeURIComponent(parametr)</code></pre></div><p>Но когда смотрю когда не мой скрипт отправляет пост запрос , а на том сайте то в пост запросе кодируется к примеру не &quot;привет&quot; а сначала во что то перекодируется (&quot;привет&quot; выглядит как &quot;&amp;#239;&amp;#240;&amp;#232;&amp;#226;&amp;#229;&amp;#242;&quot; ) и потом эти каракули в UTF-8 преобразуются и отсылаються нормально.<br />Так вот если я кодирую encodeURIComponent и посылаю привет - то мне фигушки, а если каракули таким же образом отправлять то все отличненько. Вопрос как мне привести русские&nbsp; слова вот к таким каракулям что бы мой скриптик и русские слова отрабатывал нормально ? <img src="//forum.script-coding.com/img/smilies/roll.png" width="15" height="15" /></p><p>Пишется для greasemonkey+firefox.<br /> POST запрос отсылаю через GM_xmlhttpRequest , так как нужно послать кроссдоменный запрос. Второй вопрос: для хромого если переделывать скрипт то чем можно воспользоваться вместо GM_xmlhttpRequest, что бы не доставлять еще чего то из дополнений.</p>]]></description>
			<author><![CDATA[null@example.com (besik)]]></author>
			<pubDate>Sun, 01 Jul 2012 11:22:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=61316#p61316</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56633#p56633</link>
			<description><![CDATA[<p>Как оказалось, при отправке заголовка (&quot;Content-type&quot;, &quot;application\/x-www-form-urlencoded&quot;), запрос всегда отправляется в UTF-8, поэтому отправлять charset=windows-1251, бессмысленно. И ответ собственно приходить тоже в UTF-8.<br />Спасает <em>overrideMimeType&nbsp; (&quot;text/html;charset=windows-1251&quot;);</em> (Gecko only), который как раз и получает ответ в заданной кодировке.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Fri, 10 Feb 2012 07:15:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56633#p56633</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56632#p56632</link>
			<description><![CDATA[<p>Поздно ответил. Пока вспоминал написание заголовка, задающего кодировки, приемлемые в отклике сервера, Вы уже сами нашли решение. Я имел в виду отправку на сервер этой строки в качестве дополнительного заголовка.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Fri, 10 Feb 2012 07:04:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56632#p56632</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56631#p56631</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Accept-Charset: windows-1251. Нет?</p></blockquote></div><p>Это вы о чем?</p><p>ps. Пишу бывшему однокласснику сриптик для он-лайн игры.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Fri, 10 Feb 2012 06:40:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56631#p56631</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56630#p56630</link>
			<description><![CDATA[<p>Accept-Charset: windows-1251. Нет?</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Fri, 10 Feb 2012 06:19:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56630#p56630</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56628#p56628</link>
			<description><![CDATA[<p>Всем спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Fri, 10 Feb 2012 06:04:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56628#p56628</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56627#p56627</link>
			<description><![CDATA[<p>Ура, получилось. Не знаю правда почему и как.</p><p>xmlhttp.setRequestHeader	(&quot;Content-type&quot;, &quot;application\/x-www-form-urlencoded&quot;);<br />xmlhttp.overrideMimeType	(&quot;text/html;charset=windows-1251&quot;);</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Fri, 10 Feb 2012 06:03:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56627#p56627</guid>
		</item>
		<item>
			<title><![CDATA[Re: POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56624#p56624</link>
			<description><![CDATA[<p>О!<br />Если заменить строку<br />xmlhttp.setRequestHeader(&quot;Content-Type&quot;, &quot;text/plain; charset=windows-1251&quot;);<br />на<br />xmlhttp.setRequestHeader(&quot;Content-type&quot;, &quot;application/x-www-form-urlencoded; charset=windows-1251&quot;);</p><p>то параметры все-таки передаются - xmlhttp.send(params) отрабатывает. Но <em>&quot;charset=windows-1251&quot;</em>, все равно игнорируется.</p><p>И страница возвращается с абракадаброй.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Fri, 10 Feb 2012 05:03:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56624#p56624</guid>
		</item>
		<item>
			<title><![CDATA[POST запросы.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=56623#p56623</link>
			<description><![CDATA[<p>Доброго дня.</p><p>Думаю что всю простыню не обязательно тут выкладывать. Кусок кода не пашет. Помогите. Пишется для greasemonkey+firefox, кроссбраузерность не нужна. Про встроенные методы с запросами в Грисманки знаю. Хочется знать почему так не пашет.<br /></p><div class="codebox"><pre><code>lPage = &#039;url&#039;;
lParam = &#039;pfram&#039;;
function SendRequestPOST(){
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open(&quot;POST&quot;,lPage,true);
    xmlhttp.onreadystatechange = processRequestChange;
    params = &#039;id=&#039; + encodeURIComponent(lParam)
    xmlhttp.setRequestHeader(&quot;Content-Type&quot;, &quot;text/plain; charset=windows-1251&quot;);
    xmlhttp.send(params);
    pole.innerHTML = &quot;Обновление информации ...&quot;;
}

function processRequestChange(){
    if (xmlhttp.readyState == 4){
        if (xmlhttp.status == 200){
            pole.innerHTML = &quot;Обновление успешно.&quot;;
        };
    };
}</code></pre></div><p>При формировании запроса, не передаются заголовок (&quot;Content-Type&quot;, &quot;text/plain; charset=windows-1251&quot;) и параметр (xmlhttp.send(params)</p><p>wtf?</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Fri, 10 Feb 2012 04:54:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=56623#p56623</guid>
		</item>
	</channel>
</rss>
