2010-01-15 6 views
1

jQuery 아약스 (게시물)와 많은 작업을 수행하고 고객 정보를 검색하여 웹 페이지에로드하는 MVC 앱이 있습니다. 문제는 Internet Explorer 7에서 ajax ($ .post 또는 $ .getJSON)를 통해 정보를 검색하는 링크를 두 번 클릭하면 정보가 새로 고침되지 않습니다. 그것은 내가 클릭 한 첫 번째 고객의 정보를 보여 주며, 두 번째 정보는 표시하지 않으므로 정보가 잘못되었습니다. 코드에서 디버그를 시도하고 두 번째 클릭에서 데이터베이스에서 데이터를 검색하는 작업을 입력하지 않습니다.jQuery with json

문제는 브라우저 캐시와 관련이 있다고 생각하지만 어떻게 처리해야할지 모르겠다.

가 나는 그것이 잘 작동, 내 코드를 첨부, 내가 이전에 언급 문제에 대한 기대 : 사용자가 초기 응답을 반환하기 전에 두 번 클릭하면 내가이 동작을 본 적이

$.getJSON(pathSite + 'PorServiceQuery/GetJsonInfo', {}, 
       function(resp) { 
        $('#txtPhone').attr('value', resp.ClpCustomerPhone); 
        $('#txtCelPhone').attr('value', resp.ClpCelPhone); 
        $('#txtEmail').attr('value', resp.ClpEmail); 
       }); 
+0

JavaScript에서 오류가 있습니까? –

+0

아니요, js 오류가 없습니다. 이상한 점이 있습니다! 나는 탐험가 7이 왜 그런지 이해하지 못합니다. – lidermin

답변

0

해결책은 $.getJson 대신 $.post을 사용하는 것이 었습니다. 이유는 getjson이 http get을 수행하고 내 데이터가 새로 고쳐지지 않은 이유입니다.

0

. 브라우저에 관계없이 문제가 발생하지 않았는지 확실합니까? Fiddler을 사용하여 사용자가 클릭 할 때와 돌아올 때를 비교하는 요청을 확인하는 것이 좋습니다.

또 다른 아이디어는 IE 캐시 설정을 항상 새로운 버전의 페이지를 확인하도록 설정할 수 있다는 것입니다.

+0

안녕하세요, 솔루션 주셔서 감사합니다. IE 캐시를 설정하면 문제가 해결되지만 다른 방법이 있습니까? 고객 브라우저 설정을 제어 할 수 없기 때문에 원인이 무엇입니까 ?? 다시 한번 감사드립니다. – lidermin

+0

웹 서비스가 설정되는 방식으로는 불가능하거나 POST 대신 GET을 사용해야 할 수도 있지만 URL 요청이 다를 수 있습니다. 한 번에이 작업을 수행해야했으며, 기본적으로 AJAX URL에 더미 매개 변수로 임의의 숫자 (또는 타이머 기반의 숫자)를 추가합니다. 이렇게하면 URL이 다르거 나 브라우저가 캐시하지 않아야합니다. 또한 서비스 자체를 점검하고 응답에 대해 캐시 제어 설정을 설정할 수 있는지 확인하는 것이 좋습니다. –