There is a bug with the Flash LoadVars object that we use to do
the load request - it takes a hash table of key/value pairs, and this
does not allow repeated keys in the query args. The bug is
that if you have both a query string that you build yourself, and a set of key-value
pairs, the LoadVars request from the flash player puts in an extraneous "?" in the query when it sends it.
There is may be a workaround possible ,but for now you cannot use duplicated keys in your query string.
It's happens on lps-3.2 & lps-3.3.
This is a request model by using dataset.
The dataset do a request with a Query String, like data0, data1, data2….
And the Laszlo bin send a request only with this query's head(data0). The others do not sended.
I use a HTTP sniffer . It captured:
+POST /lps-3.1.1/pui.lzx?__lzbc__=1148346172796 HTTP/1.1
+Accept: */*
+x-flash-version: 8,0,22,0
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 347
+Accept-Encoding: gzip, deflate
+User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
+Host: 127.0.0.1:8080
+Connection: Keep-Alive
+Cache-Control: no-cache
In 3.1.1
But captured:
+POST /lps-3.3/pui.lzx HTTP/1.1
+Accept: */*
+x-flash-version: 8,0,22,0
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 263
+Accept-Encoding: gzip, deflate
+User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
+Host: 127.0.0.1:8080
+Connection: Keep-Alive
+Cache-Control: no-cache
In 3.3 and also in 3.2
The Src is.
<?xml version="1.0" encoding="UTF-8" ?>
<canvas debug="true">
<dataset name="ForTest">
<method event="ondata">
<![CDATA[
if(this.p)
{
Debug.write( this.p )
}
]]>
</method>
</dataset>
<button>Kevin
<attribute name="IP" type="string" value="127.0.0.1"/>
<attribute name="IPport" type="string" value="8080"/>
<method event="onclick">
<![CDATA[
var ArrayIP = []
for( var i = 0; i < 10; i++)
{
ArrayIP.push("Data"+i)
}
var QueryString = "http://" + IP + ":" + IPport + "/ptest/ptest?kaka"
for( var j = 0; j < ArrayIP.length; j++)
QueryString = QueryString + '&AryIP=' + ArrayIP[j];
Debug.write("Long:MODEL:DoRequest:" + QueryString+"&kkkk");
ForTest.setQueryType("POST");
ForTest.setSrc(QueryString +"&kkkk");
ForTest.doRequest();
]]>
</method>
</button>
</canvas>
_______________________________________________
Laszlo-user mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-user
--
Henry Minsky
Software Architect
[EMAIL PROTECTED]
_______________________________________________ Laszlo-user mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-user
