[OpenLayers-Users] OpenLayers.Request problem;
where is the data?
Lehtonen, Mika
mika at digikartta.net
Mon Nov 3 16:55:32 EST 2008
Ok,
I'll get back to this when I have time. Thanks a lot.
BTW: This is what OL API doc says about 'data': {Object} Any data to
send with the request.
http://dev.openlayers.org/releases/OpenLayers-2.7/doc/apidocs/files/OpenLayers/Request-js.html
Maybe I took that too literally. ;-)
- mika -
Tim Schaub kirjoitti:
> Hey-
>
> Tim Schaub wrote:
>
>> Hey-
>>
>> Lehtonen, Mika wrote:
>>
>>> Hi again,
>>> using $_REQUEST (with your snippet), I get this. What's that?
>>>
>>> array(2) {
>>> ["__utma"]=>
>>> string(54) "81555458.1737773788.1225666548.1225666548.1225666548.1"
>>> ["__utmz"]=>
>>> string(69)
>>> "81555458.1225666548.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"
>>> }
>>>
>> Those are cookie values.
>>
>> We (or I at least) can only help you out if you post code (preferably
>> legible).
>>
>> Thanks,
>> Tim
>>
>>
>>> - mika -
>>>
>>> Lehtonen, Mika kirjoitti:
>>>
>>>> Hi Tim,
>>>>
>>>> tested that. I get this: array(0) { }
>>>>
>>>>
>
> If you really are doing exactly what I put below (creating a simple
> my.pyp thingy and POSTing using that exact syntax), then you could be
> having a character encoding issue.
>
> I don't know enough about PHP to know what they expect or handle - or
> how your installation is configured or what character set your browser
> may be using, but you might have to specify your charset in the
> Content-Type header:
>
> var req = OpenLayers.Request.POST({
> url: "my.php",
> data: OpenLayers.Util.getParameterString({foo: "bar"}),
> headers: {
> "Content-Type":
> "application/x-www-form-urlencoded; charset=utf-8"
> }
> });
>
> If you are still having trouble, you'll probably want to spend some time
> with curl, RestTest (FF2 only), LiveHTTPHeaders, and/or other tools to
> examine exactly what is going on.
>
> Also, in your first post (to this list), you were using an object as the
> data value. This needs to be a form-encoded string. Note that I am
> using the OpenLayers.Util.getParameterString function above to get a
> form-encoded string from an object.
>
> Tim
>
>
>>>> I am trying to create a SLD on server side for Geoserver, based on
>>>> what has been selected on client side. So I have quite a huge number
>>>> (couple of thousands) of polygon regions of which an end user can
>>>> choose from (with a "tool"). Chosen polygons should be presented with
>>>> different style. So I decided to do that using wms. Unfortunately, if
>>>> I create my SLD on client side and send it server by using GET, the
>>>> request is way too long.
>>>>
>>>> Basically, an array of certain selected polygon attributes POSTED to
>>>> server, would be enough.
>>>>
>>>> - mika -
>>>>
>>>> Tim Schaub kirjoitti:
>>>>
>>>>
>>>>> Hey-
>>>>>
>>>>> Can you write (preferably not all on one line) what you are doing
>>>>> again to make the request? If you are setting the content type,
>>>>> include that. Also, note that you can use the POST function and
>>>>> that you don't need the new keyword. In addition, note that params
>>>>> are about GET and data is about POST.
>>>>>
>>>>> I just set up PHP here and confirmed that the following works:
>>>>>
>>>>> var req = OpenLayers.Request.POST({
>>>>> url: "my.php",
>>>>> data: OpenLayers.Util.getParameterString({foo: "bar"}),
>>>>> headers: {
>>>>> "Content-Type": "application/x-www-form-urlencoded"
>>>>> }
>>>>> })
>>>>>
>>>>>
>>>>> The content of my.php:
>>>>>
>>>>> <?php var_dump($_POST); ?>
>>>>>
>>>>>
>>>>> What I see in the response:
>>>>>
>>>>> array(1) {
>>>>> ["foo"]=>
>>>>> string(3) "bar"
>>>>> }
>>>>>
>>>>>
>>>>> The same answer is given here:
>>>>> http://openlayers.org/pipermail/users/2008-October/008483.html
>>>>>
>>>>> I've put this example up on the Request wiki page:
>>>>> http://trac.openlayers.org/wiki/Request#Ex.7:IssueaPOSTrequestwithform-encodeddata.
>>>>>
>>>>>
>>>>> And, this is now a FAQ:
>>>>> http://faq.openlayers.org/ajax/how-do-i-post-form-encoded-data/
>>>>>
>>>>> Good luck,
>>>>> Tim
>>>>>
>>>>> Lehtonen, Mika wrote:
>>>>>
>>>>>
>>>>>> Actually I already tested that. Also setting the Content-length and
>>>>>> the Connection Close. I haven't been testing this with other
>>>>>> browsers than FireFox. It seems that the POST method isn't
>>>>>> responding in any way. Parameters attached to the request however
>>>>>> seem to be working just fine.
>>>>>>
>>>>>> There was another issue, which might be the same you pointed to me,
>>>>>> but the symtons are closer to mine:
>>>>>>
>>>>>> http://n2.nabble.com/OpenLayers.Request.POST-GET-errors-td1304742.html
>>>>>>
>>>>>> - mika -
>>>>>>
>>>>>>
>>>>>> Arnd Wippermann kirjoitti:
>>>>>>
>>>>>>
>>>>>>> Perhaps this solves the problem
>>>>>>>
>>>>>>> headers: {
>>>>>>> "Content-Type": "application/x-www-form-urlencoded"}
>>>>>>>
>>>>>>> http://n2.nabble.com/OpenLayers.Request-POST-and-IE-6-7-issues-tt1384863.htm
>>>>>>>
>>>>>>> l#a1395114
>>>>>>>
>>>>>>>
>>>>>>> Arnd Wippermann
>>>>>>>
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: users-bounces at openlayers.org
>>>>>>> [mailto:users-bounces at openlayers.org] Im
>>>>>>> Auftrag von Lehtonen, Mika
>>>>>>> Gesendet: Montag, 3. November 2008 10:01
>>>>>>> An: OpenLayers
>>>>>>> Betreff: [OpenLayers-Users] OpenLayers.Request problem; where is
>>>>>>> the data?
>>>>>>>
>>>>>>> Hi,
>>>>>>> I am trying to send a POST request from OL with the following snippet:
>>>>>>>
>>>>>>> new OpenLayers.Request.issue({method: 'POST', url:'sld.php',
>>>>>>> params:{abc:'def', cba:'fed'}, data:{ghi: 'jkl', ihg: 'lkj'},
>>>>>>> success: function(){alert('Succeeded!');}, failure:
>>>>>>> function(){alert('Did not succeed.');}, callback:
>>>>>>> function(){alert('Calling back');}});
>>>>>>>
>>>>>>> $_POST array in sld.php stays empty. In $_GET array I can find the
>>>>>>> params: def and fed. How can I get touch with the data? Am I doing
>>>>>>> something
>>>>>>> wrong here?
>>>>>>>
>>>>>>> - mika -
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Users mailing list
>>>>>>> Users at openlayers.org
>>>>>>> http://openlayers.org/mailman/listinfo/users
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Users mailing list
>>>>>> Users at openlayers.org
>>>>>> http://openlayers.org/mailman/listinfo/users
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at openlayers.org
>>>> http://openlayers.org/mailman/listinfo/users
>>>>
>>>>
>>
>
>
>
More information about the Users
mailing list