<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Synchronous page method call in ASP.NET AJAX library</title>
	<atom:link href="http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/feed/" rel="self" type="application/rss+xml" />
	<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/</link>
	<description>In my blog I'll try to describe about interesting technologies, my discovery in IT and some useful things about programming.</description>
	<pubDate>Mon, 08 Sep 2008 00:42:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Mehmet</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-215726</link>
		<dc:creator>Mehmet</dc:creator>
		<pubDate>Wed, 30 Nov 2011 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-215726</guid>
		<description>In

[cc lang="javascript"]
function Sys$Net$XMLHttpSyncExecutor$executeRequest() {
[/cc]

at the end, before

[cc lang="javascript"]
    this._started = true;
[/cc]

insert

[cc lang="javascript"]
    if (navigator.appName != "Microsoft Internet Explorer" &#038;&#038; navigator.appName != "Opera" &#038;&#038; navigator.appVersion.indexOf('Safari') &lt; 0)
    {
        this._onReadyStateChange(this._xmlHttpRequest);
    }
[/cc]

</description>
		<content:encoded><![CDATA[<p>In</p>
<div class="codecolorer-container javascript" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="kw2">function</span> Sys$Net$XMLHttpSyncExecutor$executeRequest<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></div>
<p>at the end, before</p>
<div class="codecolorer-container javascript" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="kw1">this</span>._started = <span class="kw2">true</span>;</div></div>
<p>insert</p>
<div class="codecolorer-container javascript"><div class="codecolorer" style="font-family: monospace;"><span class="kw1">if</span> <span class="br0">&#40;</span>navigator.<span class="me1">appName</span> != <span class="st0">&quot;Microsoft Internet Explorer&quot;</span> &amp;&amp; navigator.<span class="me1">appName</span> != <span class="st0">&quot;Opera&quot;</span> &amp;&amp; navigator.<span class="me1">appVersion</span>.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">'Safari'</span><span class="br0">&#41;</span> &lt; <span class="nu0">0</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">this</span>._onReadyStateChange<span class="br0">&#40;</span><span class="kw1">this</span>._xmlHttpRequest<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></div></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: emiliano</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-161404</link>
		<dc:creator>emiliano</dc:creator>
		<pubDate>Mon, 30 Nov 2009 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-161404</guid>
		<description>hi,
I used your solution but it doesn't work with firefox.
The strange is that, if I install the Add-on firebug it work, but if I disable firebug no.</description>
		<content:encoded><![CDATA[<p>hi,<br />
I used your solution but it doesn&#8217;t work with firefox.<br />
The strange is that, if I install the Add-on firebug it work, but if I disable firebug no.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicola</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-143450</link>
		<dc:creator>Nicola</dc:creator>
		<pubDate>Sat, 30 Nov 2002 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-143450</guid>
		<description>Hi Dmitro,

Yes I need POST parameter.
It works !!
Thank you very much 
Das vidanje!
Nicola</description>
		<content:encoded><![CDATA[<p>Hi Dmitro,</p>
<p>Yes I need POST parameter.<br />
It works !!<br />
Thank you very much<br />
Das vidanje!<br />
Nicola</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmytro Shteflyuk</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-143434</link>
		<dc:creator>Dmytro Shteflyuk</dc:creator>
		<pubDate>Fri, 30 Nov 2001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-143434</guid>
		<description>Hi Nicola,

If you want to use URL params (GET), try this:

[cc lang="javascript"]
var urlParams = {'param1':'value'};
wRequest.set_url(Sys.Net.WebRequest._createUrl(PageMethods.get_path()+"/RunQuery", urlParams));
[/cc]

But as I understand from your code, you need POST, so

[cc lang="javascript"]
var params = {'param1':'value'};
var body = Sys.Serialization.JavaScriptSerializer.serialize(params);
wRequest.set_body(body);
[/cc]

</description>
		<content:encoded><![CDATA[<p>Hi Nicola,</p>
<p>If you want to use URL params (GET), try this:</p>
<div class="codecolorer-container javascript"><div class="codecolorer" style="font-family: monospace;"><span class="kw2">var</span> urlParams = <span class="br0">&#123;</span><span class="st0">'param1'</span>:<span class="st0">'value'</span><span class="br0">&#125;</span>;<br />
wRequest.<span class="me1">set_url</span><span class="br0">&#40;</span>Sys.<span class="me1">Net</span>.<span class="me1">WebRequest</span>._createUrl<span class="br0">&#40;</span>PageMethods.<span class="me1">get_path</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="st0">&quot;/RunQuery&quot;</span>, urlParams<span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></div>
<p>But as I understand from your code, you need POST, so</p>
<div class="codecolorer-container javascript"><div class="codecolorer" style="font-family: monospace;"><span class="kw2">var</span> params = <span class="br0">&#123;</span><span class="st0">'param1'</span>:<span class="st0">'value'</span><span class="br0">&#125;</span>;<br />
<span class="kw2">var</span> body = Sys.<span class="me1">Serialization</span>.<span class="me1">JavaScriptSerializer</span>.<span class="me1">serialize</span><span class="br0">&#40;</span>params<span class="br0">&#41;</span>;<br />
wRequest.<span class="me1">set_body</span><span class="br0">&#40;</span>body<span class="br0">&#41;</span>;</div></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicola</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-143406</link>
		<dc:creator>Nicola</dc:creator>
		<pubDate>Thu, 30 Nov 2000 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-143406</guid>
		<description>Hi
Your post was very helpful to me thanks.
I have only one problem.
My PageMethod has a parameter.
How do you pass it ?
I tried

[cc lang="javascript"]
wRequest.set_url(PageMethods.get_path() + "/RunQuery("+JSON.stringify(Param)+")");
[/cc]

or

[cc lang="javascript"]
Sys.Net.WebServiceProxy.invoke('/Default.aspx', 'RunQuery', false, { Params: JSON.stringify(sSQL) }, null, OnErrorQuery);
[/cc]

but they both don't work ..
Thanks in advance for any help / idea
Bye
Nicola</description>
		<content:encoded><![CDATA[<p>Hi<br />
Your post was very helpful to me thanks.<br />
I have only one problem.<br />
My PageMethod has a parameter.<br />
How do you pass it ?<br />
I tried</p>
<div class="codecolorer-container javascript" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">wRequest.<span class="me1">set_url</span><span class="br0">&#40;</span>PageMethods.<span class="me1">get_path</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="st0">&quot;/RunQuery(&quot;</span>+JSON.<span class="me1">stringify</span><span class="br0">&#40;</span>Param<span class="br0">&#41;</span>+<span class="st0">&quot;)&quot;</span><span class="br0">&#41;</span>;</div></div>
<p>or</p>
<div class="codecolorer-container javascript" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">Sys.<span class="me1">Net</span>.<span class="me1">WebServiceProxy</span>.<span class="me1">invoke</span><span class="br0">&#40;</span><span class="st0">'/Default.aspx'</span>, <span class="st0">'RunQuery'</span>, <span class="kw2">false</span>, <span class="br0">&#123;</span> Params: JSON.<span class="me1">stringify</span><span class="br0">&#40;</span>sSQL<span class="br0">&#41;</span> <span class="br0">&#125;</span>, <span class="kw2">null</span>, OnErrorQuery<span class="br0">&#41;</span>;</div></div>
<p>but they both don&#8217;t work ..<br />
Thanks in advance for any help / idea<br />
Bye<br />
Nicola</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmytro Shteflyuk</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-96422</link>
		<dc:creator>Dmytro Shteflyuk</dc:creator>
		<pubDate>Wed, 30 Nov 2011 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-96422</guid>
		<description>Угу, синхронный асинхронный вызов :-) Хотел обыграть как игру слов, но инглиша не хватило.

А случай простой. Перед отправкой формы (на onsubmit или клиентский onclick у кнопки) нужно получить с сервера некоторый ключ &lt;tt&gt;someCode&lt;/tt&gt;, который использовать для обработки данных формы (в частности захэшировать &lt;tt&gt;md5(fieldValue+someCode)&lt;/tt&gt;) и продолжить выполнение стандартного кода, который генерит ASP.NET (валидации там всякие и постбек). Муторно описал в общем, но задача есть.

Решить ее же можно по-другому (через AJAX) - на onclick кнопки повесить вызов AJAX и &lt;tt&gt;return false;&lt;/tt&gt;, а в колбеке вставить код, который вызовет валидацию и сделает постбек (&lt;tt&gt;ClientScript.GetPostBackEventReference&lt;/tt&gt;), но решение не очень универсальное. С синхронным вызовом все проще -- получил код, а дальше пусть само как обычно работает.</description>
		<content:encoded><![CDATA[<p>Угу, синхронный асинхронный вызов <img src='http://kpumuk.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Хотел обыграть как игру слов, но инглиша не хватило.</p>
<p>А случай простой. Перед отправкой формы (на onsubmit или клиентский onclick у кнопки) нужно получить с сервера некоторый ключ <tt>someCode</tt>, который использовать для обработки данных формы (в частности захэшировать <tt>md5(fieldValue+someCode)</tt>) и продолжить выполнение стандартного кода, который генерит ASP.NET (валидации там всякие и постбек). Муторно описал в общем, но задача есть.</p>
<p>Решить ее же можно по-другому (через AJAX) - на onclick кнопки повесить вызов AJAX и <tt>return false;</tt>, а в колбеке вставить код, который вызовет валидацию и сделает постбек (<tt>ClientScript.GetPostBackEventReference</tt>), но решение не очень универсальное. С синхронным вызовом все проще &#8212; получил код, а дальше пусть само как обычно работает.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kigorw</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-96420</link>
		<dc:creator>Kigorw</dc:creator>
		<pubDate>Wed, 30 Nov 2011 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-96420</guid>
		<description>хотя может и полезно в случае если не хочется с колбеками связываться...</description>
		<content:encoded><![CDATA[<p>хотя может и полезно в случае если не хочется с колбеками связываться&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kigorw</title>
		<link>http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-96418</link>
		<dc:creator>Kigorw</dc:creator>
		<pubDate>Wed, 30 Nov 2011 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://kpumuk.info/asp-net/synchronous-page-method-call-in-asp-net-ajax-library/#comment-96418</guid>
		<description>"Один из таких случаев — выполнение синхронного AJAX-вызова (Asynchronous JavaScript And XML — Асинхронный JavaScript и XML)." - прикольно фраза смотрится.

Что за случай, интересно?</description>
		<content:encoded><![CDATA[<p>&#8220;Один из таких случаев — выполнение синхронного AJAX-вызова (Asynchronous JavaScript And XML — Асинхронный JavaScript и XML).&#8221; - прикольно фраза смотрится.</p>
<p>Что за случай, интересно?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
