Как я могу POST, используя Ajax форму из субдомена в домашний домен без запуска CORS? - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь настроить форму на поддомене (например, sub.mysite.com), который отправляет данные на мой основной веб-сайт (mysite.com), но у меня нарушен CORS.

Я пытался, как рекомендовано в некоторых Google, настроить document.domain, но это, похоже, не помогает. Насколько я понимаю, я не могу использовать Jsonp, потому что он предназначен для чтения, а не публикации?

Код до сих пор:

<form method="post" enctype="multipart/form-data" id="form" action="mysite.com/form-here">
  <input type="text" name="firstname">
  <input type="text" name="lastname">
  <input type="submit" value="Submit">
</form>
$("#form").submit(function(event){
    document.domain = "mysite.com";
    event.preventDefault(); 
    var post_url = $(this).attr("action");
    var request_method = $(this).attr("method");
    var form_data = $(this).serialize();

    $.ajax({
        url : post_url,
        type: request_method,
        data : form_data
    })
});

1 Ответ

0 голосов
/ 28 октября 2019

Если вы используете оба домена, вы можете правильно установить Access-Control-Allow-Origin ( см. Документ ) или ваш основной домен, чтобы разрешить хотя бы sub.mysite.com или подстановочный знак *.

$.ajax автоматически сделает предполетный вызов OPTIONS, а затем POST.

...