消息系统jquery发送jQuery514109241_1210239812938当我把:))放在消息中

时间:2012-08-18 21:12:23

标签: javascript jquery

当我在我的textarea中输入“:))”并通过ajax发送时,它会向数据库输入一个值 “jQuery172039628539560362697_1345324072488”,我怎么能阻止这个?我应该先在javascript中以某种方式解析我的文本,以使其识别文本,而不是javascript编码的一部分吗?

这就是我的文字

var message = $("textarea.message_thread").val();
var dataString = 'id=' + id + '&message=' + message;
// make ajax call

发送

$.ajax( 
                        {  
                            type: "POST",  
                            url: "/inbox/instsend",  
                            data: dataString,
                            dataType: 'json',
                            success: function(results) {}

                        }

4 个答案:

答案 0 :(得分:1)

见问题的评论;问题是在dataString中提交的内容实际上是一个url编码的字符串,而不是JSON-izable或JSON文字变量。

因此:

dataString = {id: id, message: message};

这里会解决这个问题。 jQuery将获取该对象初始化变量并将其编码为JSON。

答案 1 :(得分:0)

当您使用JSONP进行跨域AJAX调用时,这将由jQuery自动完成。它应该将此字符串作为callback参数的值发送。

答案 2 :(得分:0)

您需要清理输入并转义任何控制代码 - 例如:和)

答案 3 :(得分:0)

因为你在这里做POST。这可以工作

var dataString = '{'+'id:' + id + 'message:' + message +'}'