xmlhttprequest POST 405 - 不允许的方法

时间:2016-07-29 11:59:11

标签: methods xmlhttprequest

我有一个让我疯狂的问题,因为我无法解决它。我想用我的应用程序上传一些文件到服务器IIS。

我的HTML代码是:

<input id="files" type="file" />

当我检测到添加了新文件时,只是在控制器中我使用XMLHttpRequest:

document.getElementById('files').addEventListener('change', function (e) {
        var file = this.files[0];
        var xhr = new XMLHttpRequest();
        (xhr.upload || xhr).addEventListener('progress', function (e) {
            var done = e.position || e.loaded
            var total = e.totalSize || e.total;
            console.log('xhr progress: ' + Math.round(done / total * 100) + '%');
        });

        xhr.open('POST', 'http://10.0.19.25:80/CG/files', true);

        xhr.addEventListener('load', function (e) {
            console.log('xhr upload complete', e, this.responseText);
        });

       xhr.send(file);
    });

当我在Chrome,Firefox或IE上启动我的应用时,我收到此错误:

POST http://10.0.19.25/CG/files 405 (Method Not Allowed)

enter image description here

提前致谢!

2 个答案:

答案 0 :(得分:0)

我遇到了同样的错误,问题是我尝试访问的方法不存在,所以我尝试使用POST但是在该URL中的服务器上是预期的PUT。

查看服务器日志可能会有所帮助!

答案 1 :(得分:0)

我认为您需要阅读有关内容类型的更多信息。我遇到了同样的问题,我在服务器上发送了json数据,我只是将Content-type更改为application / json; charset = UTF-8,这很有帮助,默认为text / html;字符集= utf-8。