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 시간을 소비하는 다른 가난한 영혼을 도울 수 있기를 바랍니다!