iOS 6으로 업그레이드 한 이후, Safari의 웹 뷰는 캐싱 $.ajax
호출을 자유롭게 합니다. 이것은 PhoneGap 응용 프로그램과 관련이 있으므로 Safari WebView를 사용하고 있습니다. 우리의 $.ajax
호출은 POST
메소드이며 캐시를 false로 설정 {cache:false}
했지만 여전히 발생합니다. TimeStamp
헤더에 수동으로 a 를 추가하려고 시도했지만 도움이되지 않았습니다.
우리는 더 많은 연구를 해왔으며 Safari는 정적이며 서명마다 바뀌지 않는 함수 서명이있는 웹 서비스에 대해서만 캐시 된 결과를 반환한다는 것을 알았습니다. 예를 들어 다음과 같은 함수를 상상해보십시오.
getNewRecordID(intRecordType)
이 함수는 동일한 입력 매개 변수를 반복해서 수신하지만 반환되는 데이터는 매번 달라야합니다.
iOS 6 zip을 인상적으로 만들기 위해서는 Apple의 서둘러야합니다. 캐시 설정에 너무 만족했습니다. iOS 6에서이 동작을 본 사람이 있습니까? 그렇다면 정확히 원인은 무엇입니까?
우리가 찾은 해결 방법은 함수 서명을 다음과 같이 수정하는 것입니다.
getNewRecordID(intRecordType, strTimestamp)
그런 다음 항상 TimeStamp
매개 변수도 전달 하고 서버 측에서 해당 값을 삭제하십시오. 이 문제를 해결합니다. 나는 이것이 내가했던 것처럼이 문제에 15 시간을 소비하는 다른 가난한 영혼을 도울 수 있기를 바랍니다!