我的ajax电话突然停止工作,没有人接触到代码。
经过一些测试后发现问题是我传递的话是" onclick"在参数字符串中。
像
这样的东西$.ajax({
url: "giveMeMyEntries.php",
type: "POST",
data: {searchingFor : "interesting",
snippetForNoResults : "<span onclick='goAddingANewOne()'>add a new one!</span>"}
});
现在我完全理解这可以通过许多其他方式实现,但我也想了解为什么这个ajax会返回403禁止。
如果我改为&#34; oncick&#34; (是的,只是为了尝试)请求完美无缺。
ajax中禁止使用处理程序关键字吗?从何时起?几个月前这完全正常工作..
谢谢!
的Alessandro
编辑1: 好吧,问题是与服务器有关。
url上的encodeURI并不能解决问题。参数上的encodeURIComponent再次导致403问题。即使是其他的ajax请求!
我也使用$ .params准备参数,但从未遇到过字符问题。
apache mod-security能否检查请求中是否存在某些单词?