发送时jQuery AJAX POST JSON错误?或者&到服务器

时间:2012-03-03 03:54:17

标签: php jquery ajax 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;
}

问题出在我输入的时候?或者&amp;作为一条消息,我得到一个错误,如:jQuery17104689251377712935_1330746677552

有关修复此问题的任何建议吗?这实际上是插入数据库的消息(而不是实际的?或&amp;字符)。我已经尝试过JSON.stringify,但它在问号上加了双引号,它完全删除了&amp;在字符串中,所以它似乎不是一个理想的解决方案。

提前谢谢。

2 个答案:

答案 0 :(得分:4)

如果使用数据对象应该没有任何问题。让jQuery对其进行编码

 data: {type: 'type', msg: 'msg', msgid: 'msgid'}

答案 1 :(得分:2)

您需要 URL编码消息:

data: "type=" + type + "&msg=" + encodeURIComponent(msg) + "&msgid=" + msgid,