是否有更好的方法将字符串替换为&在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;
}
});
}
答案 0 :(得分:4)
您可以将数据作为对象传递,让jQuery对其进行序列化,如下所示:
data: {txt: str},
请注意,这不会出现“和”这个词,它会逃脱它,留下%26
。
What actually happens under the covers正在调用encodeURIComponent()
,如下所示:
data: "txt="+encodeURIComponent(str),
我会选择第一种方法,我只是展示下面发生的事情,以便更好地理解编码的工作原理。
答案 1 :(得分:1)
data: { txt: $('textarea#tr').val() }