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