通过javascript使用符号和获取内容
我有一个可编辑的表格单元格通过javascript使用符号和获取内容,javascript,html,Javascript,Html,我有一个可编辑的表格单元格 您只需提供一个对象作为数据,jQuery将为您处理正确的序列化和转义(它将在内部使用实用工具$.param,它将转义应用于数据值): 您可以只提供一个对象作为数据,jQuery将为您处理适当的序列化和转义(它将在内部使用实用工具$.param,它将转义应用于数据值): 您的后端代码是什么样子的?此外,您还必须以某种方式对其进行编码,除非您在后端手动解析原始帖子正文。我建议您发布JSON,而不是将参数作为querytsring传递,这取决于您在服务器端处理帖子数据的方式
您只需提供一个对象作为数据,jQuery将为您处理正确的序列化和转义(它将在内部使用实用工具$.param
,它将转义应用于数据值):
您可以只提供一个对象作为数据,jQuery将为您处理适当的序列化和转义(它将在内部使用实用工具$.param
,它将转义应用于数据值):
您的后端代码是什么样子的?此外,您还必须以某种方式对其进行编码,除非您在后端手动解析原始帖子正文。我建议您发布JSON,而不是将参数作为querytsring传递,这取决于您在服务器端处理帖子数据的方式。尽管问题是,“要实现这一点,无需转义/编码符号”,这没有多大意义-encodeURIComponent
,如现在删除的答案中所述,是正确的方法。有时使用base64可以避免此类问题atob()
btoa()
但由于您的服务器以一种奇怪的方式处理某些字符,这显然意味着存在XSS缺陷;小心。不要相信用户的数据!您的后端代码是什么样子的?此外,您还必须以某种方式对其进行编码,除非您在后端手动解析原始帖子正文。我建议您发布JSON,而不是将参数作为querytsring传递,这取决于您在服务器端处理帖子数据的方式。尽管问题是,“要实现这一点,无需转义/编码符号”,这没有多大意义-encodeURIComponent
,如现在删除的答案中所述,是正确的方法。有时使用base64可以避免此类问题atob()
btoa()
但由于您的服务器以一种奇怪的方式处理某些字符,这显然意味着存在XSS缺陷;小心。不要相信用户的数据@它与JSON无关,也不需要在服务器上解码任何东西。数据以url编码的形式发送,不涉及JSON。是的,你是对的,不需要解码JSON,它已经在$\u POST
中,但我认为OP使用$\u GET
处理querystring参数。也没有查询字符串参数。OP使用POST和表单url编码的内容类型。这意味着数据以键值对发送,键值对由和分隔。它看起来像查询字符串,但它不是。现在我明白了,我认为OP连接参数和url参数,对不起,我的错。谢谢。从未想过这一点。@ocanal它与JSON无关,并且不需要在服务器上解码任何东西。数据以url编码的形式发送,不涉及JSON。是的,你是对的,不需要解码JSON,它已经在$\u POST
中,但我认为OP使用$\u GET
处理querystring参数。也没有查询字符串参数。OP使用POST和表单url编码的内容类型。这意味着数据以键值对发送,键值对由和分隔。它看起来像查询字符串,但它不是。现在我明白了,我认为OP连接参数和url参数,对不起,我的错。谢谢。我从没想过这个。
function saveToDB(editableObj,column,id) {
$(editableObj).css("background","#B2DDF2 url(../img/AjaxLoader.gif) no-repeat right");
$.ajax({
url: "<?php echo base_url();?>documents/inline_update",
type: "POST",
data:'column='+column+'&editval='+editableObj.textContent+'&id='+id,
success: function(data){
$(editableObj).css("background","#FDFDFD");
}
});
}
$.ajax({
url: "/",
type: "POST",
data: {
column: column,
editval: editableObj.textContent,
id: id,
},
success: function (data) { },
});