2012-10-21 1 views
4

HTML5 Canvas 및 Javascript를 사용하여 게임을 제작하고 있으며 수준별로 JSON 형식 타일 맵을 사용하고 있습니다. 타일은 FireFox에서 올바르게 렌더링되지만 Chrome을 사용하면 JSON 가져 오기가 실패하고 "Origin null은 Access-Control-Allow-Origin에서 허용되지 않습니다."와 함께 실패합니다. 내가 jQuery의 $ .ajax 명령을 사용하고 내 모든 파일이 하나의 디렉토리에 있습니다.AJAX를 사용하지 않고 JSON을 로컬에서 가져 오는 방법

나는 this 게시물의 해결책을 사용 하겠지만 웹 서버 솔루션을 사용할 수 없습니다.

JSON 파일을 가져와 구문 분석하고 읽을 수있는 다른 방법이 있습니까? URL을주는 것만으로 이미지를로드하는 것과 비슷한 것이 있습니까? 아니면 JSON 파일을 전역 적으로 사용 가능한 문자열로 신속하게 변환하여 JSON.parse()로 구문 분석 할 수있는 방법이 있습니까?

+3

가져 오기 ?? 복잡한 이름을 사용하지 마십시오. var jsonObject = [... ..] 변수로 사용하거나 js 파일에 저장하고 포함합니다. 이 변수를 직접 사용할 수 있습니다! – madhairsilence

답변

1

왜 로컬 웹 서버가 아닌 옵션 인에 전역 변수를 설정, 스크립트로 JSON 데이터를 가져 오는 것입니다 :이 질문은이 문제를 해결? 아파치는 무료이며, 무엇이든 설치할 수 있으며, 사용하기 쉽다. 또한, 크롬을 위해 특별히, --allow-file-access-from-files

들여다 그러나 아무것도 다른 작동하지 않는 경우, 어쩌면 당신은 script 태그에있는 파일에 링크를 추가 할 수 있으며, 각 파일의 맨 위에 var SomeGlobalObject = ...을 추가합니다. JS를 사용하여 head에 스크립트 태그를 추가하여 동적으로이 작업을 수행 할 수도 있습니다. 하지만 결국 AJAX를 사용하는 대신에 할 수 있습니다. JSON.parse(SomeGlobalObject)

즉, 스크립트 태그를 추가하여 파일을 전역 네임 스페이스에로드하십시오. 일반적으로이 방법은 나쁜 습관으로 간주 될 수 있지만 다른 옵션이없는 경우 테스트를 위해서만 사용됩니다.

관련 문제