以下函数应序列化表单数据并将其发送到服务器上进行处理。
function postIt() {
var postData = $("#myForm").serialize();
$.ajax({
type: 'POST',
data: postData,
url: 'php/makeTopics.php',
success: function(data) {
/* do stuff*/
}
})
}
但是,我刚刚开始从服务器收到 403 Forbidden
错误。经过调查,我发现 .serialize()函数用" +" 替换空格,如果我重新发送没有&#的数据34; +" s我不再收到错误。
我做错了什么?这是客户端还是服务器问题?
更多信息:
- 使用LITESPEED服务器,
- 我已经将我的PHP代码减少到<?php echo("Hello World!"); ?>
并且问题仍然存在,所以我认为它必须是网络服务器中的其他东西。此外,这是新行为 - 我没有在任何一端更改代码来触发它。
- 工作数据示例:tn=factorystore&tkw1=manufacturers&tkw2=brickandmortar
- 工作数据示例:tn=factory+store&tkw1=manufacturers&tkw2=brick+and+mortar
(注意:以上数据示例是从Chrome控制台获取的“数据来源”表格数据)
答案 0 :(得分:0)
当你说,
你的意思是,https://yourdomain.com/hello.php返回403?将我的PHP代码减少到,问题仍然存在
通常,您可以要求您的主机检查服务器错误日志以找出403错误的原因。 403可能由多种原因引起。例如mod_security,或对某些URL,文件夹等的某些限制。