저는 클라이언트 - 서버 기반 응용 프로그램 인 크로스 플랫폼 모바일 솔루션에서 작업 해 왔습니다. 아약스 호출을 사용하여 서버에 웹 서비스 호출을하고 있습니다. 대부분의 웹 서비스는 정상적으로 작동하지만 요청에 따라 서버 측에서 수행해야하는 계산이 있고 응답에 지연이있는 경우 상태 0이 응답으로 표시됩니다. 시간 초과 옵션으로 시도했지만 아무 쓸모가 없습니다. 참조 용으로 동일한 코드 스 니펫을 추가하십시오. 서버 응답이 빠른 경우jQuery ajax 호출은 모바일 솔루션에서 상태 0을 제공합니다.
$.ajax({
type: "POST",
url: wsUrl,
contentType: "text/xml",
dataType: "xml",
timeout: 300000,
data: soapRequest,
success: processSuccess,
error: processError
});
function processSuccess(data, status, req)
{
}
function processError(data, status, req)
{
console.log(data+'--------- '+status+'-------- '+req);
}
때때로, 우리는 예상 응답을 받고 있지만 대부분의 시간, 우리는 상태 0 오류가 있습니다. 대부분이 2 분 후에 나는이 오류를 얻고있다. 네이티브 안드로이드 응용 프로그램에서 동일한 코드를 사용해도 아무런 문제없이 잘 작동합니다. 서버에서 전체 응답을 가져올 때까지 요청이 중단되지 않도록하는 옵션이 있습니까? 내가 틀렸을 수도 있지만 그렇지 않다면 웹 서비스 호출을하는 동안 턴 시간을 설정하기위한 옵션이 있습니까? 모바일 브라우저 기반 응용 프로그램이므로 응답이 2 분 이상 걸릴 경우 브라우저는 상태 0 응답으로 요청을 취소 할 수 있습니다. 심지어 오류 메시지가 없습니다. 추가 정보가 필요하면 알려주십시오.