3
var desc = "www.google.com?i=12&j=34"
$.ajax({
            url: 'controller/function',
            type: 'POST',
            data: ({tDescription:desc}),
            beforeSend: function(){
                //Do Something
            },
            success: function(msg){
                //Do Something                
            }
        });

$_POST包含如下

tDescription: www.google.com?i=12
j:34

如何按原样检索 Total desc

4

2 回答 2

2

用于encodeURIComponent对数据进行编码。

data: ({tDescription:encodeURIComponent(desc)}),

什么时候用哪个?escape()
方法不对 + 字符进行编码, 该字符在服务器端被解释为空格以及由字段中带有空格的表单生成。由于这个缺点以及该函数无法正确处理非 ASCII 字符的事实,您应该尽可能避免使用 escape()。最好的选择通常是 encodeURIComponent()。

escape()不会编码:@*/+

encodeURI()方法的使用比 escape() 更专业一点,因为它对 URI [REF] 进行编码,而不是查询字符串,后者是 URL 的一部分。当您需要对要用于任何使用 URI 并且需要某些字符保持未编码的资源的字符串进行编码时,请使用此方法。请注意,此方法不对 ' 字符进行编码,因为它是 URI 中的有效字符。

encodeURI()不会编码:~!@#$&*()=:/,;?+'

最后,在编码 URI 的单个组件时,大多数情况下应该使用encodeURIComponent()方法。此方法将对某些通常被识别为 URI 的特殊字符的字符进行编码,以便可以包含许多组件。请注意,此方法不对 ' 字符进行编码,因为它是 URI 中的有效字符。

encodeURIComponent()不会编码:~!*()'

于 2012-10-15T06:30:43.490 回答
0

serialize()您的内容,您可以在目的地对其进行解析。

于 2012-10-15T08:11:14.387 回答