Php 序列化用于jQuery ajax数据字符串中的字符串值的函数

Php 序列化用于jQuery ajax数据字符串中的字符串值的函数,php,jquery,string,serialization,Php,Jquery,String,Serialization,如何清理jquery.val()收集的用户输入,以便将其写入数据字符串。。。在下面的示例中,当用户写入 如果某个文本包含&其余的 这条评论似乎不起作用 很好,因为它把其余的都算作 要发布的其他变量 是否有消毒或消毒措施 序列化代码?jQuery的 sanitize()函数适用于窗体,但 我想要我能用的东西 直接在字符串上使用 var id = $("some_id_value_holder_hidden_field").val(); var comment = $("#sometextarea"

如何清理jquery.val()收集的用户输入,以便将其写入数据字符串。。。在下面的示例中,当用户写入

如果某个文本包含&其余的 这条评论似乎不起作用 很好,因为它把其余的都算作 要发布的其他变量

是否有消毒或消毒措施 序列化代码?jQuery的 sanitize()函数适用于窗体,但 我想要我能用的东西 直接在字符串上使用

var id = $("some_id_value_holder_hidden_field").val();
var comment = $("#sometextarea").val();

var dataString = "id=" + id + "&comment=" + comment;

$.ajax({

type: "POST",
url: "write_comment.php",
data: dataString,
dataType: "json",
success: function(res) {
  // Success
},
error: function(xhr, textStatus, errorThrown) {
  // Error
}
});
任何建议都将不胜感激 关于

有一个内置的功能,可以完全满足您的需求。除此之外,您还可以在“数据”字段中提供一个对象,在这种情况下,url编码将由jquery处理。在您的示例中:

 $.ajax({
     type: "POST",
     url: "write_comment.php",
     data: { id: id, comment: comment},
     etc...

因为您使用的是jquery,所以可以使用附带的表单插件来序列化数组

serialize()-从表单字段(例如,someEle=someVal&anotherEle=anotherVal)创建url字符串

serializeArray()-返回所有表单元素的键/值数组(需要知道)


编辑:编辑以删除不正确的escape()部分。

我无法使其与文本区域和输入字段一起工作。我认为序列化函数只能应用于表单标签。。。我只有一个文本区域,周围没有表单标记,所以我需要一个函数来序列化字符串,而不是整个表单
$.ajax({
    url : 'write_comment.php',
    type : 'post',
    data : $('#form-element').serialize(),
    success : function(data)
    {
        alert('yay!');
    }
});