ajax和javascript中的特殊字符问题

时间:2009-12-30 03:56:06

标签: jquery ajax

页面上有一个textarea。我通过ajax发送它的价值。

var text = $("textarea#text").val();

var dataString = 'text='+ text;


        $.ajax({
      type: "POST",
      url: "do.php?act=save",
      data: dataString,
      cahce: false,
      success: function() {

                   //success


            }

     });

如果textarea值与black & white类似,则会在black

之后中断文本

如果它像black + white那样输出black white

我怎么能避免这个?

THX

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

你需要encode文本,但我认为最好使用Object而不是String作为data成员,jQuery将完成正确编码POST / GET参数的工作:

var text = $("textarea#text").val();
var dataObj = {"text": text};
 $.ajax({
   type: "POST",
   url: "do.php?act=save",
   data: dataObj,
   cache: false,
   success: function() {
     //success
   }
 });

答案 2 :(得分:0)

JSON.stringify将JSON对象转换为字符串表示。

答案 3 :(得分:0)

您可以使用JSON对象

来实现此目的

例如:[{“AttributeId”:“4035”,“Value”:“Street& House”}]

或者你可以在发布之前使用URLencode