|
Posted by Anthony Levensalor on 01/10/08 09:49
On 1/10/2008 3:44 AM, Pugi! wrote:
> On 9 jan, 19:49, Anthony Levensalor <killf...@mypetprogrammer.com>
> wrote:
>> *** Pugi! *** wrote a whole bunch of nifty stuff On 1/9/2008 1:35 PM:
>>
>>
>>
>>> On 9 jan, 16:29, Anthony Levensalor <killf...@mypetprogrammer.com>
>>> wrote:
>>>> Pugi! said:
>>>>> I guess the solution might be in the use of escape (javascript) and
>>>>> urldecode (PHP), but I have not succeeded in making it work yet. Do
>>>>> you use those functions and the data you send, on the querystring or
>>>>> on the complete url? Other problem is that escape and urldecode are
>>>>> not an exact match.
>>>> use encodeURIComponent in javascript before you assemble as JSON, and
>>>> then send it via post through the XHR.
>>>> use XMLHttpRequest.setRequestHeader(
>>>> "Content-Type", "application/x-www-form-urlencoded")
>>>> To set up your XHR for POST, then assemble the data you want to send in
>>>> this format:
>>>> "name=value&name2=value2&....nameN=valueN"
>>>> And where you would normally send null in your XHR, send the data instead.
>>>> The great thing about encodeURIComponent() is that all that translation
>>>> is done at the server level on most servers (all the ones I've ever
>>>> worked on), so once it gets to PHP, it should be okie doke.
>>>> If not, contact me privately (the email is in my sig), and we can talk
>>>> about the PHP side, this isn't the place for that.
>>>> All the best,
>>>> ~A!
>>>> --
>>>> anthony at my pet programmer dot com
>>> This really was very helpful.
>>> This is how I use it:
>>> - clientside (javascript):
>>> var data = new Object();
>>> data.field1 =
>>> encodeURIComponent(document.formname.field1.value.trim());
>>> ...
>>> qs = YAHOO.lang.JSON.stringify(data);
>>> ...
>>> YAHOO.util.Connect.asyncRequest('GET', 'mywebpage.php?data='+qs,
>>> callback);
>>> - serverside (PHP)
>>> $data = json_decode(stripslashes(sanitize($_GET['data'])), true);
>> Just do the json_decode call first, and then do the sanitizing and
>> stripslashing and the like. That should solve your quotes problem.
>>
>> Glad I could help!
>>
>> ~A!
>>
>> --
>> anthony at my pet programmer dot com
>
> Without stripslashes no json_decode.
> Input like c:\my documents\test\test.pdf doesn't look to good either.
>
> Pugi!
Ok, can you send me a php snippet? Run the sig all together and
translate the at and dot, shoot me an email, I'll take a closer look.
~A!
--
anthony at my pet programmer dot com
Navigation:
[Reply to this message]
|