Запрос AJAX POST - 405 Метод не разрешен - PullRequest
0 голосов
/ 30 января 2019

Я использую JQuery AJAX для отправки данных в другую конечную точку.Конечная точка, которую я использую, настроена на прием CORS-запросов, и мне удалось заставить ее работать с JQuery 3.3.1.Однако я постоянно получаю сообщение об ошибке ниже при попытке использовать более старую версию JQuery (1.7).Мне интересно, может кто-нибудь пролить свет на то, что может быть проблемой.Мой код здесь:

var token = getCookie('hubspotutk'); //Get the users cookie
    var pageTitle = document.title; //Title of page
    var pageURL = document.URL; //URL of page
    var submissionTime = new Date().getTime(); //Get time in milliseconds to record submission
    var formData = $(this).serializeArray(); //Get the form data and convert to an array
    var myJsonString = JSON.stringify(formData); //Convert the array to a JSON String

    //Define settings for AJAX request
    var settings = {
    "url": "https://api.hsforms.com/submissions/v3/integration/submit/xxxx/xxxxxx/", //FORM API ENDPOINT
    "method": "POST",
    "headers": {"Content-Type": "application/json","cache-control": "no-cache"},
    "data": `{
                "submittedAt": "` + submissionTime + `",
                "fields": ` + myJsonString + `,
                "context": {
                        "hutk": "` + token + `",
                        "pageUri": "` + pageURL +`",
                        "pageName": "` + pageTitle + `"
                    },
                "skipValidation": true
            }`
    }

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

Ошибка, которую я получаю в консоли, здесь:

   GET https://api.hsforms.com/submissions/v3/integration/submit/xxx/xxxxxx/?{%22submittedAt%22:%20%221548857641912%22,%22fields%22:%20[],%22context%22:%20{%22hutk%22:%20%224db30dd95b30e746b4719cd94e0a0ae5%22,%22pageUri%22:%20%22http://www.test.com/form-testing-example-2?x%22,%22pageName%22:%20%22Form%20Testing%20Example%202%22},%22skipValidation%22:%20true} 405
form-testing-example-2?x:1 Access to XMLHttpRequest at 'https://api.hsforms.com/submissions/v3/integration/submit/xxxx/xxxxxxx/?{%22submittedAt%22:%20%221548857641912%22,%22fields%22:%20[],%22context%22:%20{%22hutk%22:%20%224db30dd95b30e746b4719cd94e0a0ae5%22,%22pageUri%22:%20%22http://www.test.com/form-testing-example-2?x%22,%22pageName%22:%20%22Form%20Testing%20Example%202%22},%22skipValidation%22:%20true}' from origin 'http://www.test.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Кажется, что происходит запрос GET, несмотря на то, что я указал запрос POST в своем коде.Любой совет очень ценится.

1 Ответ

0 голосов
/ 30 января 2019

Я думаю, вы должны объявить ваши данные как объект, а не как строку.

data: { ... }

вместо

data: '{ ... }'

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...