-2

javascript

var a="sadahdka sarr    &nbsp"

jQuery.ajax(
                        {
                            type:"POST",
                            url:"function/postbai.php",
                            data:"a="+a,
                            success:function(html)
                            {
                                alert(html);
                            }
                        });

var a="sadahdka sarr    &nbsp"

为什么之后

$_POST['a']="sadahdka sarr"

帮助 jquery ajax html 特殊字符

4

3 回答 3

3

因为&是查询字符串中的字段分隔符。如果你想保留&确保你这样做encodeURIComponent(a);

于 2013-07-21T00:25:33.773 回答
1

您的字符串作为查询字符串无效,您要么必须对其进行编码,encodeURIComponent要么让 jQuery 通过传递一个对象为您执行此操作:

var data = {a :"sadahdka sarr    &nbsp"};

jQuery.ajax({
    type: "POST",
    url: "function/postbai.php",
    data: data
}).done(function (html) {
    alert(html);
});
于 2013-07-21T00:25:47.807 回答
0

在将其发送到服务器之前转义您的字符串并在 PHP 中对其进行解码。

JS:

data : "a="+escape(a);

PHP:

urldecode($_POST['a']);
于 2013-07-21T00:44:11.697 回答