source

ajax 문제 - firebug에서는 200 OK이지만 응답 본문이 없는 빨간색

nicesource 2023. 9. 6. 22:08
반응형

ajax 문제 - firebug에서는 200 OK이지만 응답 본문이 없는 빨간색

크로스 도메인과 관련된 작은 아약스 문제가 있습니다.

로컬 컴퓨터에서 일부 아약스를 사용하여 html 예제를 만들었습니다. 등록 텍스트 필드 사용자가 'username'을 입력하면 모든 키 입력 아약스에서 로컬 Tomcat으로 보내며, 서블릿은 해당 사용자 이름이 이미 사용되고 있는지 확인하고 'taken' 응답을 다시 보냅니다.

로컬 호스트에서는 전혀 문제가 없습니다.사용한 'username' 서블릿을 입력하면 'taken' 응답이 전송되고 브라우저에 표시됩니다.

그러나 로컬 호스트 Tomcat에서 유효성 검사 요청을 보내는 원격 컴퓨터(원격 네트워크에서 일부 무료 호스팅)에 ajax가 있는 test html 페이지를 놓으면 연결이 되고 Tomcat 콘솔에서 요청이 오고 Mozila의 firebug에서는 콘솔 출력이 됩니다.

GET http://89.216.182.25:8080/Dinamicki1/UsernameServlet?username=zik 200 OK

...그러나 응답 탭에 servlet 응답 'float'이 없고 firebug의 메시지가 빨간색으로 표시됩니다.

그래서 서버는 통신을 잘 하고 방화벽 문제는 없으며 대응은200 OK
그러나 응답 본문이 비어 있습니다.

파이어 버그에 있는 이 빨간 메시지가 무엇인지 알고 있습니까?

미리 대단히 감사드립니다.

그리고 자바를 위한 진지한 ajax 튜토리얼을 추천해줄 수 있는 사람이 있다면 매우 감사할 것입니다 :)

Ajax 요청에 도메인 관련 URL을 사용해야 합니다.

/Dinamicki1/UsernameServlet?username=zik

또는 컨텍스트 관련 URL(페이지가 다음에서 제공되는 것으로 가정)/Dinamicki1):

사용자 이름Servlet?username=zik

"Java용 Ajax 자습서"와 관련하여 여기서 시작합니다.서블릿과 아약스 사용법?

AJAX를 사용하여 다른 도메인의 응답을 읽을 수 없습니다.

HTML은 AJAX 서블릿과 동일한 서버(그리고 동일한 도메인, 포트 및 프로토콜)에 있어야 합니다.

Firebug에 보고된 200 상태는 성공 여부와 상관없이 교차 도메인 ajax 호출의 유효성을 나타내지 않습니다.

프록시 방법을 사용하여 통화를 수행해 볼 수 있습니다.

: 자바스크립트: 교차 도메인 XMLHttpRequest 호출에 웹 프록시 사용

사이트에서 해결 방법을 찾았습니다.

  1. "Apache Tomcat을 통해 디렉토리 검색을 허용하려면 conf/web.xml 파일의 매개 변수 "listings"를 false에서 true로 변경합니다."

  2. 페이지를 다음으로 호출하지 않음C:/Documents and Settings/.../page.html그러나 로서localhost:8080/your_servlet_name(페이지 이름이 더 좋습니다.index.html).

localhost:8080/your_servlet_name/something_else.

url에 "www"를 추가해야 하는 것이 저에게 효과적인 해결책이었습니다!URL Rewrite를 사용하고 있었기 때문에 내가 가지고 있는 모든 URL(image, js, get, load, post)은 전체 URL을 사용해야 했지만 "www"가 누락되었습니다!

저는 web api(c# .NET) 요청이었고 cors는 활성화되지 않았습니다.코르손 컨트롤러에 대한 헤더가 추가되어 문제가 해결되었습니다.

[EnableCors(origins: "*", headers: "*", methods: "*")]

언급URL : https://stackoverflow.com/questions/2219274/ajax-problem-200-ok-in-firebug-but-red-message-with-no-response-body

반응형