|  | 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] |