发送时jQuery AJAX POST JSON错误?或&到服务器
问题描述:
我已经遍布网络寻找解决这个问题的方法。但找不到解决办法。发送时jQuery AJAX POST JSON错误?或&到服务器
这里是我的jQuery:
function fetchMsg (type, msg, msgid) {
$.ajax({
type: "POST",
url: "fetchmsg.php",
data: "type=" + type + "&msg=" + msg + "&msgid=" + msgid,
dataType: "json",
cache: false,
success: function(data){
$.each(data.msgs, function(i,item){
$('.messages ul').append("<div class='msgstyle id='"+item.usid+"'><li class='msgname'>"+item.fname+" "+item.lname+"</li>"+"<li class='msgid' id='"+item.msgid+"'>"+item.msg+"</li></div>");
});
}
});
return false;
}
的问题是当我输入?或&作为消息,我得到一个错误,如:jQuery17104689251377712935_1330746677552
有关修复此问题的任何建议?这实际上是插入到数据库中的消息(而不是实际的?或&字符)。我试过JSON.stringify,但是它将双引号添加到问题标记中,并且它完全删除了字符串中的&,所以它似乎不是理想的解决方案。
预先感谢您。
答
您需要URL编码消息:
data: "type=" + type + "&msg=" + encodeURIComponent(msg) + "&msgid=" + msgid,
+0
非常感谢。这工作完美! – 2012-03-03 04:08:31
答
如果使用数据对象不应该有任何问题。让jQuery的编码它
data: {type: 'type', msg: 'msg', msgid: 'msgid'}
绝对。对于那个很抱歉。我是新来的。 – 2012-03-03 04:01:24