我已经以各种方式成功使用Ajax一段时间了。一个用途是使用
上传数据$.ajax({
cache: false,
type : "POST",
url : encodeURI("savetext.php?..."),
data : {
data: csvData
},
success: function(data3) {},
error: function (xhr, ajaxOptions, thrownError) {}
});
字符串csvData创建为以分号分隔的数据行,行以'\ r \ n'结尾。
最近我遇到了一个问题,我在上传时收到403 Forbidden。
经过长时间的调查[最大文件大小,Cross-Origin,换行符,ajax()参数等]和反复试验,我得出结论,问题只是我有字符串“; Descri”在csvData中。
我通过在各个地方拼接csvData找到了这个。 “;描述”似乎不是问题,但“;描述”在它出现的每个位置都有。我还没有确定它是否是“; Descri”的子字符串,这就是问题所在。我现在通过'指定'替换我的数据中的'描述'一词,完全用kluge解决了这个问题。
这似乎是一个非常奇怪的情况。我做错了什么吗?我该怎么做才能确保将来可以在我的数据中加入“; Descri”?
答案 0 :(得分:0)
403问题解决方案尝试在htaccess中添加此内容
SecFilterEngine Off
SecFilterScanPOST Off
答案 1 :(得分:0)
由于时间的关系,我刚刚从数据中删除了“描述”一词,问题就消失了。但是几个月后,发生了类似的事情(但触发文本不同),我在网站管理员网站上问了这个问题:https://webmasters.stackexchange.com/questions/115890/how-can-file-content-affect-whether-its-uploading-gets-a-403-error
(不令人满意的)答案在那里。