2016-08-17 5 views
2

Я пытаюсь вызвать следующий url, используя запрос на получение.jquery: ajax получить запрос не работает

http://localhost:8080/abc/employees

Когда я открыл выше URL в браузере, я получаю следующий ответ.

[{ "Имя": "Хари Кришна", "ID": 1, "LastName": "Gurram", "permAddrees": { "Площадь": "Marthali", "Город":» Бангалор »,« страна »:« Индия »,« государство »:« Карнатака »},« tempAddrees »: {« площадь »:« Электронный Город »,« город »:« Бангалор »,« страна »:« Индия », , «state»: «Karnataka»}}, {«firstName»: «PTR», «id»: 2, «lastName»: «PTR», «permAddrees»: {«area»: «Bharath Nagar», город »:« Хайдарабад »,« страна »:« Индия »,« государство »:« Андра Pradesh »},« tempAddrees »: {« площадь »:« BTM «Макет», «город»: «Бангалор», страна ":" Индия "," государство ":" Карнатака "}}]

Ниже приведен мой фрагмент jquery.

<!DOCTYPE html> 
<html> 
    <head> 
     <script src = "jquery-3.1.0.js"></script> 
    </head> 

    <body> 
     <h1>Click the below button to see the AJAX response</h1> 
     <input type="submit" value="click here" id="button1" /> 

     <div id="placeHolder"> 

     </div> 


     <script type="text/javascript"> 
      var jq = jQuery.noConflict(); 

      jq(document).ready(function(){ 
       jq("#button1").click(function(){ 
        alert("Hello"); 
        jq.get("http://localhost:8080/abc/employees", function(data, status){ 
         alert(data + "" + status); 
         jq("#placeHolder").html(response); 
        }); 
       }); 
      }); 
     </script> 
    </body> 
</html> 

При нажатии на кнопку, она показывает «предупреждение („Hello“);» первый окно предупреждения, но окно предупреждения в функции обратного вызова не выполняется. Может ли кто-нибудь помочь мне разобраться с моим кодом. enter image description here

enter image description here

+0

При отладке это, как конкретно это провал? Каков ответ с сервера? Есть ли ошибки? – David

+0

Привет, Дэвид, Добавлены снимки экрана. Как вы видите, заголовок заголовок «Content-Length is 244» подходит. Но когда я иду в раздел ответов, он пуст. –

+0

Правильно ли путь к jquery? Я проверил, он работает хорошо (после того, как задан путь к jquery) в хроме. – cafebabe1991

ответ

1

Короткий ответ

Safari позволяет это и хром не позволяет (CROSS ПРОИСХОЖДЕНИЕ ЗАПРОС ОБМЕН - CORS).

Эксперимент:

Давайте выполним запрос от этого html file к "www.google.com" из нашего "локальный".

Что происходит в хроме?

В хромированном состоянии CORS (ЗАВЕРШЕНИЕ ПРОГРАММЫ CROSS ORIGIN) не допускается, и, следовательно, оно останавливает вас при этом.

Chrome gives the error as show below for http://www.google.com

Read about it here...

Что происходит в Safari?

Safari позволяет это поведение и, следовательно, вы получите этот ответ от http://www.google.com

Доказательства I have added url as http://www.google.com, and hence this response comes

+1

Получил это. Благодаря..:) –

0

Похоже, что вы хотите получить доступ к Localhost для файла, который не является частью locahost

Две вещи могут быть сделаны:

  1. сделать файл часть вашего веб-приложения LOCALHOST

  2. сделать корректные настройки CORS для экземпляра вы используете ДЖЕРСИ использовать следующее.

How to handle CORS using JAX-RS with Jersey

Смежные вопросы