Javascript 带有特殊字符的Ajax帖子中断
我试图将textarea的值传递给php页面,然后进行处理并添加到SQL数据库中 我希望文本区域能够支持特殊字符 在我将此字符串放入文本区域并发布之前,一切正常: J∧KE#2#&($^@%#%)$&(““” 我收到一个501未实现错误 现在,当我将某些PHP代码粘贴到文本区域(不是运行,纯粹是保存为字符串)时,我得到一个403禁止的错误 为什么文本区域的值会影响错误代码 目前,paste.php文件没有代码,因此我可以尝试并了解错误的来源。我确信错误来自ajax帖子。我在网上到处查找,但无法找到如何使字符串安全发布。在这种情况下,encodeURIComponent似乎不起作用 以下是按钮按下的JS:Javascript 带有特殊字符的Ajax帖子中断,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我试图将textarea的值传递给php页面,然后进行处理并添加到SQL数据库中 我希望文本区域能够支持特殊字符 在我将此字符串放入文本区域并发布之前,一切正常: J∧KE#2#&($^@%#%)$&(““” 我收到一个501未实现错误 现在,当我将某些PHP代码粘贴到文本区域(不是运行,纯粹是保存为字符串)时,我得到一个403禁止的错误 为什么文本区域的值会影响错误代码 目前,paste.php文件没有代码,因此我可以尝试并了解错误的来源。我确信错误来自ajax帖子。我在网上到处查找,但无法找
var note = $("#note").val();
var dataString = encodeURIComponent(note);
$.ajax({
type: "POST",
url: "php/paste.php",
data: JSON.stringify({
paste: dataString
}),
dataType: 'text',
contentType: "application/json; charset=utf-8",
success: function(msg) {
alert(msg);
console.log(msg)
},
error: function(ts) {
alert(ts.responseText)
}
});
尝试添加这个
Content-Type: application/x-www-form-urlencoded
所需要的是对数据使用此函数
function encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
将内容类型更改为
ContentType: "application/x-www-form-urlencoded; charset=UTF-8"
对于kicker,将其添加到我的.htaccess文件中:
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
分离过滤器发动机关闭
secfilters可以关闭
谢谢,成功了!这支持所有字符吗?事实上,这对我上面遇到问题的字符有效,但是当我在文本区域粘贴一些PHP代码时,我得到了一个403禁止的错误。