我使用JQuery.post()将一些数据发布到服务器,如下所示。当我在服务器端收到发布数据时,我很惊讶地看到post变量已经将单个撇号转换为html数字(即。'被替换为'
)。这是怎么回事?转换是否发生在Jquery.post()中?我找不到任何关于此的文件。
$("#save").click(function(event) {
event.preventDefault();
var postdata = "id="+id+"¬e="+$("#note").val();
$.post("save_note.php", postdata, function(data){
$('#save_status').text(data);
});
});
答案 0 :(得分:0)
这根本不会发生。
可能的原因是,在您读取该值并将其放入postdata字符串之前,该值已经是HTML编码。
答案 1 :(得分:0)
你应该:
jquery在表单上的方式(至少有一个)serialize()方法,如下所示:
$("#save").click(function(event) {
event.preventDefault();
var $form = $(event.target).closest('form');
//var postdata = "id="+id+"¬e="+$("#note").val();
$.post($form.attr('method'), $form.serialize(), function(data){
$('#save_status').text(data);
});
});
我希望这会有所帮助。
答案 2 :(得分:0)
它发生在网络浏览器中。
检查$("#note").val()
的值 - 当您在表单字段中键入某些内容时,请记住它已被插入到HTML DOM中。