我正在使用亭亭玉立的农作物在我的codeigniter项目上上传化身,它在我的本地主机上完美运行,但是在服务器上,对进行图像上传的php的ajax调用一直显示403禁止错误,以下是本节代码:
function send(url, data, progress, success, err) {
var xhr = new XMLHttpRequest();
if (progress) {
xhr.upload.addEventListener('progress', function (e) {
progress(e.loaded, e.total);
});
}
xhr.open('POST', url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var text = xhr.responseText;
// if no data returned from server assume success
if (!text.length) {
success();
return;
}
// catch possible PHP content length problem
if (text.indexOf('Content-Length') !== -1) {
err('file-too-big');
return;
}
// if data returned it should be in suggested JSON format
var obj = null;
try {
obj = JSON.parse(xhr.responseText);
} catch (e) {}
success(obj || text);
} else if (xhr.readyState === 4) {
err('fail');
}
};
xhr.send(data);
}
从我读到的内容来看,提供CSRF令牌可能会解决问题,但是请求是来自同一域,因此我不需要在本地主机上进行请求。可能是什么问题?