2012-03-03 11 views
0

私はこの問題の解決策についてウェブ全体を見てきました。しかし、修正を見つけることができませんでした。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; 
} 

私が入力したときに問題がありますか?または&をメッセージとして受け取ると、次のようなエラーが表示されます。jQuery17104689251377712935_1330746677552

これを修正するための提案はありますか?これは実際にはデータベースに挿入されたメッセージです(実際の文字か&文字ではなく)。 JSON.stringifyを試しましたが、疑問符に二重引用符が追加され、文字列の&が完全に削除されるため、理想的な解決策ではありません。

ありがとうございます。

+0

。申し訳ありません。私はここで新しいです。 –

答えて

2

エンコードしてみましょう:絶対に

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

ありがとうございました。これは完全に機能しました! –

4

データオブジェクトを使用する場合は、問題はありません。 jQueryのは、あなたがURLエンコードにメッセージを必要とすること

data: {type: 'type', msg: 'msg', msgid: 'msgid'} 
関連する問題