首页 > 解决方案 > Slim cropper 在我的本地主机上运行良好,但在服务器上出现 403 禁止错误

问题描述

我正在使用 slim cropper 在我的 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 令牌可能会解决问题,但请求是从同一个域发出的,我不需要在我的本地主机上这样做。可能是什么问题呢?

标签: javascriptphpservercsrfcropper

解决方案


推荐阅读