2008-09-19 3 views
0

라이브 웹 사이트에서는 정상적으로 실행되지만 로컬 개발 서버에서는 문제가 없습니다.Ajax 스크립트가 로컬로 작동하지 않는 이유는 무엇입니까?

div를 업데이트하는 Ajax 함수가 있습니다. 다음 코드는 라이브 사이트에서 작동 : 내 로컬 컴퓨터에서이 작업을 실행하려고하면

self.xmlHttpReq.open("POST", PageURL, true); 
self.xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
self.xmlHttpReq.setRequestHeader("Content-length", QueryString.length); 
//..update div stuff... 
self.xmlHttpReq.send(QueryString);

는 아무 것도 QueryString을 전달하지 않습니다. 이 라이브에서 작동하지 않는 나는 내 로컬 컴퓨터에서 작동 코드를 사용할 수 없습니다

self.xmlHttpReq.open("POST", PageURL+"?"+QueryString, true); 
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
//..div update stuff.. 
self.xmlHttpReq.send(QueryString);

을하지만 :

그러나, 문제를 혼동, 다음 코드 작업을 로컬로 수행 서버 (보안상의 이유로 querystring에 대한 정책을 변경했습니다)!

로컬 시스템의 기능에 전달 된 Querystring을 경고 할 수 있습니다. 내가 생각할 수있는 유일한 것은 그것이 하드웨어/업데이트 문제라는 것입니다.

라이브 사이트는 로컬 사이트가 실행

가 (프로 XP에) IIS 5.1은

일부 업데이트 또는 뭔가 내가 부족이나 뭐 있는가 (나는 생각 WIN 2003 상자) IIS 6을 실행 ?

+0

어떤 브라우저를 사용하고 있습니까? – Jim

답변

1

첫 번째 예에서 명시 적으로 Content-Length 헤더를 설정하는 이유가 있습니까? 너 ... 은 이걸 할 필요가없고하면 안되며 문제를 일으키는 것을 발견하면 놀랄 일이 아니다.

오, 인코딩 루틴을 확인하십시오. 규칙은 이 아님은 쿼리 문자열 및 게시 된 양식 데이터에 대해 동일합니다.

0

Shog9가 맞고 IIS 6에서 사용자의 요청을 무시하고 올바른 헤더를 보내면 5.2 오류가 발생합니다.

관련 문제