Jquery 替换输入值

Jquery 替换输入值,jquery,Jquery,有没有更好的方法将字符串替换为具有&在textarea中,当脚本认为它是另一个&参数时,会打断脚本 function doRequest(){ var str = $('textarea#tr').val(); $.ajax({ type: "POST", url: "index.php?sd=t", data: "txt="+str.replace(/&/g, "and"), success: function(){ $("div").css('

有没有更好的方法将字符串替换为具有&在textarea中,当脚本认为它是另一个&参数时,会打断脚本

function doRequest(){
var str = $('textarea#tr').val();
$.ajax({
   type: "POST",
   url: "index.php?sd=t",
   data: "txt="+str.replace(/&/g, "and"),
   success: function(){
        $("div").css('color','red');
        $("div").text('Saved');
        $("div").fadeTo(800,1);
        $("div").animate({backgroundColor:'#000000'}, 200);
        $("div").animate({backgroundColor:'#FFFF90'}, 400);
        stre = false;
   }
 });
}

您可以将数据作为对象传递,并让jQuery对其进行序列化,如下所示:

data: {txt: str},
data: "txt="+encodeURIComponent(str),
请注意,这不会放入“and”一词,而是将其转义,留下
%26

正在呼叫,如下所示:

data: {txt: str},
data: "txt="+encodeURIComponent(str),

我将使用第一种方法,我只是展示下面发生的事情,以便更好地理解编码的工作原理。

您可以将数据作为对象传递,并让jQuery序列化它,如下所示:

data: {txt: str},
data: "txt="+encodeURIComponent(str),
请注意,这不会放入“and”一词,而是将其转义,留下
%26

正在呼叫,如下所示:

data: {txt: str},
data: "txt="+encodeURIComponent(str),

我将使用第一种方法,我只是展示下面发生的事情,以便更好地理解编码的工作原理。

使用txt的原因是,在php中我使用$_GET['txt',如果我删除它,让jquery序列化GET请求将被调用什么?@Slug-它仍将被称为
txt
,无论对象中的属性名是什么,这就是GET请求中调用的参数,例如,这仍然会序列化为“txt=something”,您可以使用
alert($.param({txt:str}))
测试/查看它,这就是在封面下被调用的内容:)使用txt的原因是,在php中我使用$\u GET['txt'],如果我删除它,让jquery序列化get请求将被调用什么?@Slug-它仍将被调用
txt
,无论对象中的属性名称是什么,这就是get请求中调用的参数,例如,它仍将序列化为“txt=something”,您可以使用
警报($.param({txt:str}))
,,这就是所谓的封面下:)