首页 > 解决方案 > Javascript fetch 函数发送 OPTIONS 而不是 POST

问题描述

Javascript fetch 函数发送 OPTIONS 而不是 POST。我从本地主机测试。

  function getTokenAction() {
            fetch(full_url, {
                method: 'POST',
                body: queryString,
                headers: {
                    'Access-Control-Allow-Methods': 'POST, GET, PUT, DELETE, OPTIONS',
                    'Access-Control-Allow-Origin': '*',
                    'Access-Control-Allow-Headers': 'origin, x-requested-with, content-type',
                    'Accept': 'application/json',
                   // 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
                    'Content-Type': 'application/json;charset=UTF-8'
                }
            }).then(function (response) {
                console.log(response.statusText);
            }).catch(function (error) {

                console.log(error);
            });

我可以使用 JQuery 使其工作。但是 fetch 功能仍然不起作用。

 function  getTokenJquery() {
        let settings = {
            "async": true,
            "crossDomain": true,
            "url": full_url,
            "method": "POST",
            "headers": {
                "content-type": "application/x-www-form-urlencoded",
                "accept": "application/json"
            },
            "data": {
                client_id: 'd5eecb6e23eadb3175c5cb51b2dfec1f74850c19',
                client_secret: 'eff5fc8c1d57f69130d780cfa032aa30be0fb7f2',
                grant_type: 'client_credentials'
            }
        }

        $.ajax(settings).done(function (response) {
            console.log(response);
        });

标签: javascriptrest

解决方案


推荐阅读