3

나는 Prototype Ajax API에 대해 배우고있다. 나는 그들의 문서를 읽고 있던 나는이 보았다프로토 타입 Ajax 요청 제한?

(즉, 크로스 사이트를 스크립팅 공격을 방지한다) Ajax 요청 만 같은 프로토콜, 호스트 및 포트의 URL을 만들 수 있습니다 보안상의 이유로 그 기억을 Ajax 요청을 포함하는 페이지. 일부 브라우저는 임의의 URL을 허용 할 수 있지만 이에 대해서는 에 의존해서는 안됩니다.

그렇다면 다른 앱에서 하나의 앱을 백엔드로 요청할 수 없다는 뜻입니까? 또는 나는 이것을 오해하고있다. 나 같은 새로운 자바 스크립트 학습자에 대한 명확한 설명을 정말 고맙게 생각합니다. 감사합니다.

+0

(http://diveintohtml5.org/offline.html) 다음 걱정할 필요가 없습니다. 지역에서 '봉사'를하고 있음에도 불구하고 여전히 동일한 도메인입니다. 그러나 AJAX URL을'NETWORK' 매니페스트에 넣고 싶을 수도 있습니다. 응답에 대한 – clockworkgeek

답변

1

이것은 same domain origin policy입니다. 이것은 보안상의 이유로 웹 브라우저에 의해 시행됩니다.

간략히 말하자면,이 제한이 없으면 아약스 요청을 통해 사용자를 대신하여 웹 페이지를 검색 할 수 있습니다. 이렇게하면 웹 메일에 로그인 한 상태에서 이메일을 읽을 수 있습니다.

크로스 도메인 아약스 요청에 대해 JSONP을 살펴보십시오. (JSONP에서 P를 확인할 수 있습니다.)

이 프로토 타입에 JSONP 지원을 추가 할 것 : http://dandean.com/jsonp-for-prototypejs/ 당신이 [오프라인 웹 응용 프로그램]을 제작하는 경우

+0

주셔서 감사합니다. 그러나 모바일 응용 프로그램에서 내 백엔드로 요청을 보내려면 어떻게해야합니까? 모바일 앱은 분명히 동일한 호스트가 아닙니다. 그러면 어떻게 처리 할 수 ​​있습니까? 아니면 제대로 이해하지 못했습니까? –

+0

답변을 완전히 읽어보십시오 ;-) (힌트 : jsonp) – arnaud576875

+0

hehehehe. 죄송합니다. 고마워. :) –