请求标题字段If-None-Preflight响应中的Access-Control-Allow-Headers不允许匹配

时间:2016-05-31 14:09:48

标签: javascript ajax dojo

使用dojo/store/JsonRest发布到REST API时收到以下错误。 我正在使用"X-Requested-With": null以避免预检请求,但我仍然收到此错误。

API完全支持CORS。

任何想法如何解决?

  

请求标头字段If-None-Match不允许   预检响应中的Access-Control-Allow-Headers。

        var store = new JsonRest({
            target: 'https://api.xxx.com/data',
            headers: {
                "Authorization": 'Bearer ' + 'd4c72611fc43ab44a46344d907a2b96964df2c91',
                "X-Requested-With": null // no prefligh
            }
        });
        store.get('1-00').then(function (data) {
            // ok works here
            console.log('get', data)
        });
        // post request
        store.add({name:'test'}).then(function (data) {
            // error here
            console.log('add', data)
        });

1 个答案:

答案 0 :(得分:0)

我能够使用"If-None-Match": null标题中的JsonRest来解决此问题。

有关"If-None-Math"的有趣文档可在HTTP/1.1 spec上找到。

var store = new JsonRest({
        target: 'https://api.xxx.com/data',
        headers: {
            "Authorization": 'Bearer ' + 'd4c72611fc43ab44a46344d907a2b96964df2c91',
            "X-Requested-With": null`, // no prefligh
            "If-None-Match": null // solve my issue
        }
    });
    store.get('1-00').then(function (data) {
        // ok works here
        console.log('get', data)
    });
    // post request
    store.add({name:'test'}).then(function (data) {
        // ok works here
        console.log('add', data)
    });