2013-08-07 3 views
3

입력란이 2 개인 양식이 있습니다.이미 존재하는 외부 서블릿을 사용하려면 어떻게해야합니까?

사용자는 항공편을 계획하기 위해 목적지를 입력 할 수 있습니다.

우리는 우리가 필드 에 자동 완성을 사용할 수 있도록 외부 서블릿을 사용하려면 (예를 들어, 유형 "LO"을 그리고 그의 일치를 가져옵니다 - 런던 히드로 상단에있을 것입니다)

서블릿 수 있습니다 다음과 같은 URL에서 찾을 수 있습니다. http://www.companyname.com/servlet/ac.json?n=12&q=LO

"n"은 반환해야하는 결과의 양이고 "q"는 쿼리입니다.

입력 필드가 변경 될 때마다 HTML 양식에서 해당 서블릿을 어떻게 호출합니까?

서블릿이 내 페이지와 다른 도메인에 있으며 게시 한 URL로 호출하는 것 외에 다른 액세스가 전혀 없습니다.

서블릿의 응답은 항상이 같은 JSON 문자열 될 것이다 :

[{"type":"airport","city":"Cape Town","airport":"International","iata":"CPT","country":"South Africa","locationId":"airport_CPT"}, 
{"type":"city","city":"Chicago, IL","airport":"All Airports","iata":"CHI","country":"United States","locationId":"US_city_CHI"}, 
{"type":"airport","city":"Victoria","airport":"CA","iata":"YYJ","country":"Canada","locationId":"airport_YYJ"}] 
+1

귀하의 질문이 너무 막연합니다. 결과적으로 서블릿은 무엇을 반환합니까? 서블릿과 그것을 호출하는 페이지가 같은 도메인에 있는지 (도메인 간 문제)? 지금까지 뭐 해봤 어? – mael

+0

@mael 내 게시물 – Skytiger

답변

0
How do I call that servlet from my HTML form, everytime the input field changes? 
난 강력 보라

, 당신은 당신이 form를 사용하는 일반 서블릿을 사용하고 이것도 알라에 대한 AJAX 필요 페이지가 다시로드 될 때마다 submit으로 변경하십시오. 당신은 AJAX 요청

+0

을 업데이트했지만 서블릿이 다른 도메인의 외부 서블릿 일 경우 그렇게 쉽게 작동하지 않습니다. 프록시가 필요합니다. – eis

+0

@eis : 그는 반드시 프록시가 필요하지 않습니다. 그는 주어진 도메인에서 교차 도메인 아약을 허용하도록 웹 서버를 조정할 수 있습니다. 또는 기존 서블릿을 수정할 수있는 경우 JSONP를 사용하십시오 (질문에 충분한 정보가 포함되어 있지 않기 때문에 모름). – mael

+0

@mael by "external"나는 그것이 자신의 통제에서 벗어 났다고 가정합니다. 그가 서블릿이나 도메인에 액세스 할 수 있다면 그렇습니다. – eis

0

당신은 서블릿 대신 JSP 페이지으로 시도 할 수있는 방법 이름을 지정할 수 있습니다

과 같은 서블릿 부분에오고. 당신은 매우 쉽게 그것을 부를 수 있으며 그것은 또한 당신의 목적을 완료 할 것입니다. 그렇지 않은 경우 AJAX이 이러한 유형의 문제에 가장 적합합니다.

관련 문제