2012-02-17 5 views
0

텍스트 상자의 앞쪽에 HTML 페이지에서 jquery 자동 완성 기능을 사용하고 있습니다. 인턴이 서비스를 호출하고 JSON을 반환하는 .net 페이지를 호출하는 JQuery를 사용하고 있습니다. 이 문제는 모든 서버가 동일한 서버에있을 때 작동합니다. 하지만 우리의 요구 사항은 HTML 페이지가 다른 서버에 있고 호출하는 .net 페이지가 다른 서버에 있다는 것입니다.다른 서버에서 액세스 할 때 Jquery 자동 완성이 작동하지 않습니다.

하나의 서버에서 IIS의 .net 페이지를 호스팅하고 HTML 페이지의 Jquery가이 호스팅 된 페이지를 호출합니다. IIS를 통과 할 때 "ACCESS IS DENIED"오류가 발생합니다. IIS 보안 수준 설정이 다를 것으로 생각합니다.

로컬로 열면 IE에서 "차단 된 콘텐츠 허용"w.r.t를 Active X 컨트롤에 요청하고 작동을 시작하면 허용하지만 IIS를 통해 IE에서 차단 된 콘텐츠를 허용하지 않습니다.

$(document).ready(function() { 
    $.ajaxSetup({ 
     type: "POST" 
    }); 
    $('input[type=text][id$=txtTest]').autocomplete("server/testpage", { 
     dataType: "json", 
     minChars: 2, 
     datakey: "JsonExam", 
     max: 10, 
     width: 605, 
     formatItem: function(item) { 
      return item.Name; 
     }, 
     useValidation: true 
    }); 
})​;​ 
+0

jquery autocomplete plugin을 사용하고 있습니까? jquery UI 자동 완성처럼 보이지 않습니다. – naveen

답변

4

문제는 Ajax 호출 만 (: http://en.m.wikipedia.org/wiki/Same_origin_policy 동일 출처 정책을 참조) 같은 도메인에 허용되는 것입니다. JSONP를 사용하는 경우를 제외하고는 다른 서버에서 서비스를 호출 할 수 없습니다.

관련 문제