2014-07-18 3 views
1

Jquery Mobile을 사용하는 Phonegap 앱에서 Windows Phone 8 및 8.1의 Jquery의 .ajax.get과 관련된 이상한 문제가 있습니다.

다음은 iOS 및 Android에서 작동하지만 WP8에서는 자동으로 실패합니다.

$.ajax({ 
     url: updateurl, 
     type: "GET", 
     dataType: "json" 
    }) 
    .done(function (data) { 
     alert("Done") 
    }) 
    .fail(function() { 
     alert("error"); 
    }) 
    .always(function() { 
     alert("complete"); 
    }); 

.get도 동일하게 실패합니다.

서버가 200으로 응답하므로 요청이 전송되지만 콜백은 실행되지 않습니다.

JQuery Mobile을 제거하면 문제가 해결되지만 옵션은 아닙니다.

현재 또한 JQuery와 1.7.2 테스트 폰갭 3.5.0, JQuery와 1.11.1,

JQM 1.4.3, JQM 1.3.2

사용하여 나는이 문제가 발생한 사람 다른 찾을 수가 기운 다. 다른 모든 유사한 문제는 JQM 플래그 $.support.cors = true;$.mobile.allowCrossDomainPage = true;을 추가하여 해결되는 것으로 보입니다. 그러나 이는 아무런 영향을 미치지 않으며 어쨌든 교차 도메인 문제로 보이지 않습니다.

나는 promise.jshere과 같이 사용하려고했지만 동일한 방법으로도 실패합니다.

아무도 경험하지 못했고 해결책을 찾았습니까?

+0

임에도 같은 문제가 있습니다. 해결 방법을 찾으셨습니까? –

+0

안녕하세요 @DaleFraser. 우리는 기본적으로이 응용 프로그램을 처음부터 다시 빌드하는 것을 끝내게되었습니다. 실제로 .NET 개발자가 한 번만 해본 적이 있다면 실제로 매우 간단합니다. – Turnip

답변

0

클라이언트 측에서의 공격적인 캐싱으로 인한 환상 일 수 있습니까?

나는 비슷한 소리를 내고있었습니다. 내 경우에는 POST 요청을 통해 새 항목을 추가 한 다음 GET을 수행하여 (완료되면) 업데이트 된 상태를 검색합니다. POST가 진행되는 것을 보았지만 UI가 업데이트되지 않았습니다.

내 경우에 GET이 캐시 된 결과를 사용하고 있음이 드러났습니다. 내 $ .ajax 호출의 옵션에 "cache : false"를 추가하면 내 문제가 해결되었습니다.