2011-04-26 16 views
1

我一直在寻找可以在PHP和Javascript之间交换的函数[用于编码和解码URL] [我可以在JavaScript中编码URL并在PHP中解码它,反之亦然],有许多解决方案出现,像escape()和unescape();用于javascript的encodeURI()和decodeURI(),用于PHP的urlencode()和urldecode(),但没有可以完美协同工作的对。因为我想使用Ajax的jQuery的PHP页面用来发送POST数据,并且数据可以用特殊字符混合,这就是为什么我需要一个工作原理相同的PHP和JavaScript函数:在Javascript和PHP中对URL进行编码的功能相同吗?

例子:

$.ajax{url: "test.php", data: "http://www.thisURLContainSpecialCharac.ter"} 

查看上面的代码?它包含数据中的特殊字符,可能会导致问题。

我欣赏任何建议:)。谢谢。 [x]

回答

1

你不想使用Javascript的escape函数,因为它没有URL编码。有关失败的示例,请参见http://xkr.us/articles/javascript/encode-compare/

JavaScript的encodeURIComponent将编码假设UTF-8,因此,如果您使用,并确保你的要求有一个内容类型UTF-8的,你应该能够使用PHP来解码

utf8_decode(urldecode($yourString))

+0

你能举个例子吗?在JS和PHP? [x] – xx3004 2011-04-26 22:49:35

+1

你如何发送数据?您是将它传递给GET URL还是POST消息正文? – 2011-04-26 23:53:11

+0

@Mike Samuel:我使用POST,但是我可以双向使用。为什么这有关系? [x] – xx3004 2011-04-27 04:57:56

相关问题