Javascript 带有特殊字符的Ajax帖子中断

Javascript 带有特殊字符的Ajax帖子中断,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我试图将textarea的值传递给php页面,然后进行处理并添加到SQL数据库中 我希望文本区域能够支持特殊字符 在我将此字符串放入文本区域并发布之前,一切正常: J∧KE#2#&($^@%#%)$&(““” 我收到一个501未实现错误 现在,当我将某些PHP代码粘贴到文本区域(不是运行,纯粹是保存为字符串)时,我得到一个403禁止的错误 为什么文本区域的值会影响错误代码 目前,paste.php文件没有代码,因此我可以尝试并了解错误的来源。我确信错误来自ajax帖子。我在网上到处查找,但无法找

我试图将textarea的值传递给php页面,然后进行处理并添加到SQL数据库中

我希望文本区域能够支持特殊字符

在我将此字符串放入文本区域并发布之前,一切正常:

J∧KE#2#&($^@%#%)$&(““”

我收到一个501未实现错误

现在,当我将某些PHP代码粘贴到文本区域(不是运行,纯粹是保存为字符串)时,我得到一个403禁止的错误

为什么文本区域的值会影响错误代码

目前,paste.php文件没有代码,因此我可以尝试并了解错误的来源。我确信错误来自ajax帖子。我在网上到处查找,但无法找到如何使字符串安全发布。在这种情况下,encodeURIComponent似乎不起作用

以下是按钮按下的JS:

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禁止的错误。