JQuery AJAX с сервлетом - PullRequest
       2

JQuery AJAX с сервлетом

0 голосов
/ 12 декабря 2010

У меня была проблема при использовании сервлета с jquery ajax. Когда я помещаю html-файл, содержащий код js, в один проект с сервлетом, он работает. Однако, когда я использовал этот html на другом компьютере и использовал URL: http://192.168.1.5:8084/****/Servlet для ajax, я ничего не мог получить.

$.ajax({
   url:'http://192.168.1.5:8084/****/Servlet',
   data: ajaxdata,
   type:'GET',
   dataType:'text/html',
   //contentType: "text/html",
   success:function(json) { }
});

Так есть идеи? Спасибо.

Ответы [ 4 ]

3 голосов
/ 13 декабря 2010

Если вы контролируете сервлет, установите заголовки HTTP Access-Control. Таким образом, вы можете контролировать со стороны сервера, разрешено ли клиенту, который запустил XMLHttpRequest, обработать ответ. Любой недавний (и достойный) веб-браузер примет соответствующие меры.

Вот пример:

response.setHeader("Access-Control-Allow-Origin", "*"); // Everone may process the response.
response.setHeader("Access-Control-Allow-Methods", "GET"); // Commaseparated string of allowed request methods.

Альтернативой является JSONP , см. Также эту статью .

0 голосов
/ 12 декабря 2010

Вы не можете использовать AJAX для отправки запроса на другой сайт.

0 голосов
/ 12 декабря 2010

Это потому, что вы делаете междоменный ajax. Браузеры, как правило, запрещают это, потому что это проблема безопасности.

См. здесь и здесь .

(Очевидно, у вас не возникнет проблем, когда они находятся на одном сервере)

0 голосов
/ 12 декабря 2010

! Jigsaw

это называется одной и той же проблемой политики происхождения в ajax, она будет работать, если оба находятся на одном сервере.

прочитайте эту ссылку, очень приятно

Способы обхода политики одного и того же происхождения

http://www.petefreitag.com/item/703.cfm

поиск в стеке над потоком, вы получите много ответов

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