Javascript 如何替换`&;`在POST';s值参数?
这是我在Javascript 如何替换`&;`在POST';s值参数?,javascript,jquery,html,Javascript,Jquery,Html,这是我在textarea中使用tinyMCE得到的: helloóóó 我使用tinyMCE从textarea获取内容,并将其解析为当前字符串: 动作=更新和范围=设置和id=内容\u主页和内容=你好 当我通过POST将其发送到服务器时,我的内容值在hello之后结束,此时有helloó 我能解决这个问题吗?有什么特别的方法吗 以下是我构建字符串的方式: var textarea = $(this).parent().find('.tinymce').first() if (textarea.
textarea
中使用tinyMCE
得到的:
helloóóó
我使用tinyMCE
从textarea获取内容,并将其解析为当前字符串:
动作=更新和范围=设置和id=内容\u主页和内容=你好
当我通过POST
将其发送到服务器时,我的内容
值在hello
之后结束,此时有helloó
我能解决这个问题吗?有什么特别的方法吗
以下是我构建字符串的方式:
var textarea = $(this).parent().find('.tinymce').first()
if (textarea.length) {
var content = tinyMCE.get(textarea.attr('id')).getContent();
data += '&content=' + content;
}
$.ajax({
type : "POST",
url : url,
data : data,
dataType : "json",
success : function(back) {}
});
您需要对这些值进行URL编码。尝试使用encodeURIComponent()方法
您需要对值进行URL编码。尝试使用encodeURIComponent()方法
ó
是的html编码版本
。你可以用密码破译它
我不知道为什么数据会是HTML编码的,但这似乎是一个错误。我希望它是URL编码的。当您收到数据时,它将为您解码。至少它需要URL编码一次,HTML编码是可选的
// url encoded:
action=update&range=settings&id=content_home&content=hello%C3%B3%C3%B3%C3%B3
// url encoded and html encoded:
action=update&range=settings&id=content_home&content=hello%26oacute%3B%26oacute%3B%26oacute%3B
ó
是的html编码版本
。你可以用密码破译它
我不知道为什么数据会是HTML编码的,但这似乎是一个错误。我希望它是URL编码的。当您收到数据时,它将为您解码。至少它需要URL编码一次,HTML编码是可选的
// url encoded:
action=update&range=settings&id=content_home&content=hello%C3%B3%C3%B3%C3%B3
// url encoded and html encoded:
action=update&range=settings&id=content_home&content=hello%26oacute%3B%26oacute%3B%26oacute%3B
正如另一个答案指出的,您需要使用encodeURIComponent
data += '&content=' + encodeURIComponent(content);
但更好的选择是将数据放入对象中,让jQuery为您处理
var data = {
action : "update",
range : "settings"
/* your other fields */
};
data.content = content;
$.ajax({
type : "POST",
url : url,
data : data,
dataType : "json",
success : function(back) {}
});
正如另一个答案指出的,您需要使用encodeURIComponent
data += '&content=' + encodeURIComponent(content);
但更好的选择是将数据放入对象中,让jQuery为您处理
var data = {
action : "update",
range : "settings"
/* your other fields */
};
data.content = content;
$.ajax({
type : "POST",
url : url,
data : data,
dataType : "json",
success : function(back) {}
});
您想在服务器上接收HTML(helloó;ó;ó;ó)还是文本(helloóóó)?您是如何获取内容参数的值的?是的,可能有包括html标记在内的所有内容。。。我正在使用
$\u POST
在服务器上获取值。您是如何构建字符串的?您需要显示发送参数的代码,以便我们可以看到您的错误。@epascarello更新了问题您希望在服务器上接收HTML(helloó;ó;ó;ó)还是文本(helloó)?您是如何获取内容参数的值的?是的,可能有包括html标记在内的所有内容。。。我正在使用$\u POST
在服务器上获取值。您是如何构建字符串的?您需要显示发送参数的代码,这样我们才能看到您做错了什么。@epascarello更新了问题编辑器中的问题这不是错误行为。内容是html编码的,因为它来自WYSIWYG编辑器。OP就是创建URL的那个。。。他必须自己使用EncoreuricComponent
对内容进行编码<代码>URL+='&content='+encodeURIComponent(contentFromTinyMce)是的,我看到他更新了答案。但这并不能解释为什么字符串是HTML编码的。-哦,等等,这是tinyMCE,这解释了一切:PIt不是编辑的错误行为。内容是html编码的,因为它来自WYSIWYG编辑器。OP就是创建URL的那个。。。他必须自己使用EncoreuricComponent
对内容进行编码<代码>URL+='&content='+encodeURIComponent(contentFromTinyMce)是的,我看到他更新了答案。但这并不能解释为什么字符串是HTML编码的。-哦,等等,是tinyMCE,这解释了一切:P