XMLHTTPREQUEST POST方法在IE11中使用状态代码400失败



我有一个react应用程序,其中包含一个javascript方法,该方法将数据发布到服务器方法。此方法在阳光下的每个浏览器中都可以正常工作...除了IE11(我知道(。不幸的是,IE11支持是该项目的要求。

iis日志显示400(不良请求(http状态代码。

我选择不使用fetch((,因为它与IE11不兼容,我宁愿避免诉诸于单个浏览器的单个方法等外部库。

我尝试了一些Content-Type标头值(Application/json和X-url-Form编码(,并且还尝试了可能与之相关的各种其他标题(Pragma,Cors,CORS-即使不是交叉孔,Cache-Control等(。

handleSubmit(event) {
    const booking = {
        'key1': 'value1',
        'key2': 'value2',
        'key3': 'value3',
    };
    const xhr = new XMLHttpRequest();
    const url = "api/Booking/AddBooking";
    xhr.open("POST", url);
    xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
    xhr.send(JSON.stringify(booking));
    xhr.onreadystatechange = () => {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var response = JSON.parse(xhr.responseText);
            this.setState({
                bookingResponse: response,
                showModal: true
            });
        }
    }
    event.preventDefault();
}

我知道外部库与IE11一起使用,因此必须使用Vanilla JavaScript解决此问题,我只是找不到它是什么。有什么想法吗?

问题与某些变量值有关。我正在使用ES6字符串插值(即背滴度(,IE中不支持。

相关内容

最新更新