如何清理您通过jquery .val()收集的用户输入,以便您可以在dataString中编写它...在您在用户写入时看到的示例中
如果某些文字包含&其余的部分 评论似乎没有用 很好,因为它将其余部分视为一个 POST的其他变量..
是否存在戒毒或 序列化代码? 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
}
});
任何建议都将不胜感激 此致
答案 0 :(得分:3)
由于你正在使用jquery,你可以使用附带的Form插件来序列化数组。
serialize() - 从表单字段创建一个url字符串(例如,someEle = someVal& anotherEle = anotherVal)
serializeArray() - 返回所有表单元素的键/值数组(对于知道很有用)
$.ajax({
url : 'write_comment.php',
type : 'post',
data : $('#form-element').serialize(),
success : function(data)
{
alert('yay!');
}
});
编辑:编辑删除不正确的escape()部分。
答案 1 :(得分:2)
内置encodeUriComponent可以完全满足您的需求。除此之外,您可以在“data”字段中提供对象,在这种情况下,url编码将由jquery处理。在您的示例中:
$.ajax({
type: "POST",
url: "write_comment.php",
data: { id: id, comment: comment},
etc...