Невозможно выполнить ajax вызов API - PullRequest
0 голосов
/ 07 января 2020

Моя html страница запускается по указанному ниже URL-адресу, со своей страницы html я хочу нажать на свой контроллер api rest нажатием кнопки. Но возникает ошибка, так как API не вызывается, и основное приложение весенней загрузки успешно запускается через http-порт 8080.

URL

file:///C:/Users/PF077060/Downloads/project/project/UI%20design/html/Release.html

Ajax Код:


<script >
$(document).ready(function(){
    $("#btn").click(function(event){
        event.preventDefault();
        alert("AJAX request successfully completed");


        ajaxpost();
      });
      function ajaxpost()
      {
          console.log("formData1");  
          var formdata=
          {
                  name:$("#name").val(),
                inputcutoff:$("#inputcutoffdate").val(),
                releasedate:$("#releaseDate").val(),
                    status:$("#status").val(),                  
          };
          //alert("Changed into json format");
          console.log(formdata);
          $.ajax({
              type : "POST",
              contentType : "application/json", 
              url : "localhost:8080/" + "release/addrelease/",
              data : formdata,
              success : function(result)
              {
                alert(result.name);  
                window.location="Main.html";

              },
              error : function(e)
              {
                  alert("Error");
                  console.log("ERROR: ",e);
              }
         });
         resetdata();
      }
      function resetdata(){
          $("#name").val("");
          $("#inputcutoffdate").val("");
          $("#releaseDate").val("");
          $("#status ").val("");
      }
    });
</script>

Ошибка

Доступ к XMLHttpRequest по адресу «localhost: 8080 / release / addrelease /« from origin » null 'был заблокирован политикой CORS: запросы на разные источники поддерживаются только для схем протоколов: http, data, chrome, chrome -extension, https.

Любая помощь будет оценена

1 Ответ

0 голосов
/ 17 января 2020

Эта ошибка возникла из-за того, что аннотация CrossOrigin не была указана в классе контроллера, а URL-адрес в вызове Ajax должен начинаться с http:localhost: 8080 и т. Д.

**In the controllers**
@Crossorigin(origin="*")


**In the ajax call**
url: "http\localhost:8080\\{url were user want to get connected}"

Тогда API не должен возвращать нулевое значение, работа API состоит в том, чтобы всегда обрабатывать информацию и возвращать некоторое значение на стороне клиента. Это были изменения, которые я сделал, и мой ajax звонок также был успешным

...