저는 아약스 요청을 많이 사용하는 웹 단일 페이지 응용 프로그램에서 작업 중이며 데스크톱 브라우저에서 제대로 작동합니다. 그러나 Xcode에서 코드 로더 래퍼에 넣고 에뮬레이터 나 iPhone에서 다시 실행하면 http://myhost:3000/api/login
과 같은 요청 대신 어떤 이유로 인해 file:///api/login
이 표시되고 분명히 실패합니다. 그 이유는 무엇일까요?왜 cordova 포장 된 응용 프로그램에서 http : // 요청이 file : ///으로 바뀌 었습니까?
0
A
답변
0
PhoneGap 응용 프로그램은 file:
페이지에서 실행되며 절대 경로는 /api/login
일 것입니다. 따라서 절대 경로는 file:///api/login
으로 해석됩니다.
코드가 이전에 http://myhost:3000
페이지에서 실행되었으며 절대 경로가 http://myhost:3000/api/login
인 것으로 가정합니다.
PhoneGap에서 호스트에 요청을하려면 경로에 호스트를 명시 적으로 지정해야합니다. 호스트에 Ajax 액세스를 허용하려면 explicitly whitelist이 필요할 수 있습니다.
서버가 아닌 파일을 직접 열어 본 것 같습니다. – pvnarula