0

Hi All,
I am trying to send some data using Ajax and recieve that data in php code using _POST method.

But my data contains "&" and _POST method takes it as a seperating token and data after tht does not get passed. Does anyone has a solution to this.

Code snippet:

params = "q="+str+"&p="+str1;  //here str1 contains data which has &


  xmlHttp.open("POST",url,false);
  xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xmlHttp.send(params);

And on server side when I use $posted = &$_POST ; it takes & as a seperator which is present as data.

Please someone let me know the workaround or approach to this.

3
Contributors
3
Replies
6
Views
8 Years
Discussion Span
Last Post by sagedavis
0

try encoding your str1 with encodeURIComponent

more about this at w3schools

Thanks John for the input. This what I have done. If one wants to encode and decode the URL in javascript then above reference is fine. In my case i needed to encode at javascript and and decode inside php. The function to be used inside php code is

[I]  preg_replace('/%([0-9a-f]{2})/ie', 'chr(hexdec($1))', (string) $p); [/I]

$p is the string which has encoded value. And the first 2 parameters just does enough to decode back whatever

[I] encodeURIComponent [/I]

has done.

Thanks

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.