ext.js가 동작하지 않을 경우.
405 method not allowed 가 난다면 Request가 POST방식이라서 일어나는 문제일 가능성이 있음.
ext.js 의 examples 에 보면 .json 파일들이 있는데
확장자가 .json 인 파일을 웹서버에서 POST 전송을 허락하지 않기 때문(?)이다.

해결법은 2가지.

1. .json 확장자를 가진 파일을 .js 나 .php 같은 이름으로 수정한다. (제일 간단하고 좋다고 생각)




2. 웹서버 설정파일을 건드린다.
    아파치 설정(httpd.conf)에서 Add-type 같은 식의 말랑한 설정이 아니라 <FilesMatch>로 설정이 되어 있을 경우
    해당 확장자를 추가한다.
    (하지만 서버의 설정을 바꾼다는 건 사실 힘든 일이다...)
#before
<FilesMatch \.(html|htm|php|php3|inc|js|css)$>
  SetHandler application/x-httpd-php
</FilesMatch>
 
#after
<FilesMatch \.(html|htm|php|php3|inc|js|css|json)$>
  SetHandler application/x-httpd-php
</FilesMatch>





3. Request 방식을 POST에서 GET으로 수정한다.
   예를 들어 ext-all.js 파일을 아래와 같이 수정한다. (나쁘지 않은 방법이다...하지만 소스가 주루룩 붙어있어서 찾기 짜증남...)
requestData:function(a,b){if(this.fireEvent("beforeload",this,a,b)!==false){
            //---Start by lion-------------for xml file on iis
            var theURL=this.dataUrl||this.url;
            if(theURL.length>0) {
                var beginPos = theURL.length - 4;
                var fileType = theURL.substr(beginPos, 4);          
                //if(theURL.substr(-4)==".xml"||theURL.substr(-5)==".json")    //original          
               if(fileType==".xml"||fileType=="json"){
                    this.requestMethod="GET";
                }
            }            //---------end by lion------------------------
















'JavaScript' 카테고리의 다른 글

[JavsScript] Trim  (0) 2009.06.24
선 그리기 (Line Drawing)  (0) 2009.06.09
onload 한꺼번에 걸기  (0) 2009.05.02
onclick 한꺼번에 걸기  (0) 2009.05.02
insertAfter 함수  (0) 2009.05.02
Posted by bloodguy
,