Проблема с простой формой ajax

187
14 апреля 2019, 14:00

Суть проблемы в том, что меня настигла ошибка

Access to XMLHttpRequest at 'http://искомый_сайт.tmweb.ru/catalog/shuby/' (redirected from 'http://искомый_сайт.ru/local/templates/newfurs/components/bitrix/catalog/catalog/bitrix/catalog.element/.default/send.php') from origin 'http://искомый_сайт.ru' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Объясняю, задача стоит в то, что бы запихнуть на страницу сайта (на битрикс) самую простую форму для захвата имени и телефона. Реализовал самую простую форму на ajax. Но с такой ошибкой столкнулся впервые, прошу помощи, спасибо. Ниже форма, js и php.

ФОРМА

<form id="razmer">
   <select name="rarmer_v" title="Указать размер">
      <option value="40" name="rv40">40</option>
      <option value="42" name="rv42">42</option>
      <option value="44" name="rv44">44</option>
      <option value="46" name="rv46">46</option>
      <option value="48" name="rv48">48</option>
      <option value="50" name="rv50">50</option>
      <option value="52" name="rv52">52</option>
      <option value="54" name="rv54">54</option>
      <option value="56" name="rv56">56</option>
   </select>
   <input type="text" name="name" placeholder="Ваше имя" /><br>
   <input type="text" name="phone" placeholder="Ваш телефон">              
   <button>Узнать</button>
</form>

JS

$(document).ready(function(){
    $("#razmer").submit(function(){
         $.ajax({
              type: "POST",
              url: "/local/templates/newfurs/components/bitrix/catalog/catalog/bitrix/catalog.element/.default/send.php",
              data: $(this).serialize()
         }).done(function(){
         alert("Спасибо!");
    });
    return false;
});

});

PHP

<?php 
$rec = "почта_реципиента@mail.ru";
$title = "Новая заявка с сайта искомый_сайт";
$name = trim($_POST["name"]);
$phone = trim($_POST["phone"]);
$rarmer_v = trim($_POST["rarmer_v"]);
$message = "Имя: $name \n Телефон: $phone \n Размер: $razmer_v";
mail($rec, $title, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $rec");
?>
Answer 1

Если не можете исключить редирект на сторонний сайт посмотрите в сторону jsonp. Попробуйте добавить в ваш код:

type: "POST",
dataType: 'jsonp',
READ ALSO
Убить процесс из PHP

Убить процесс из PHP

Процесс нормально убивается из консоли командой:

173
Помогите перекодировать json в utf8

Помогите перекодировать json в utf8

Проблема следующаяЕсть подрядчик, который шлет на наш сервер к скрипту json запрос

178
Отправка пушей Firebase через форму PHP

Отправка пушей Firebase через форму PHP

Есть работающий код, но хотелось бы прикрутить форму заполнения для отправкиПробовал, пуши якобы уходят но в приложение не приходят

198