2016-08-20 6 views
0

안녕하세요, ajax call 사이에 loading image 처리를 표시하려는 html 페이지가 있습니다. 그리고 나는 웹 사이트로 다이나믹 CRM을 넣었습니다.ajax 호출에서 이미지로드 중 크롬에서 작동하지 않습니다.

문제는로드가 mozilafirefox에서 제대로 작동하지만 크롬에서 작동하지 않는다는 것입니다.

스크립트 :

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 

다른 코드 : 모든 솔루션이있는 경우

<img src="sm_loading.gif" id="loading" style="display:none" /> 
<input class="custom-btn" id="btnsave" value="Save" onclick="SaveData();" type="button"> 
function SaveData() { 
    $('#loading').show(); 
    var stocktrack = {}; 
    stocktrack.sm_Description = descval; 
    var jsonPO = window.JSON.stringify(stocktrack); 
    var oDataUri = serverUrl + "/XRMServices/2011/OrganizationData.svc/sm_stocktrackingSet"; 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     datatype: "json", 
     url: oDataUri, 
     data: jsonPO, 
     async: false, 
     beforeSend: function (XMLHttpRequest) { 
      XMLHttpRequest.setRequestHeader("Accept", "application/json"); 
     }, 
     success: function (data, textStatus, XmlHttpRequest) { 
      debugger; 
      $('#loading').hide(); 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      alert(textStatus); 
     } 
    }); 
} 

제안하십시오.

+0

오류 설명을 표시하십시오. –

+0

안녕하세요, 콘솔에 오류가 없습니다. 그리고 만약 내가 그것을 숨기지 않으면 성공적으로 이미지를 저장 한 후 전체 기능을 완료 한 후에 표시됩니다. 그래서 해결책을 찾기가 너무 혼란 스럽습니다. –

+0

안녕하세요, '네트워크'패널로 이동해보십시오. 그리고 스크립트로 페이지를 다시로드하십시오. –

답변

0

Firefox에서 코드를 실행했는데 성공했습니다. 당신이 말했듯이 나는 크롬으로 도망 갔고 아무 것도 얻지 못했습니다. 그러나 F12를 사용하여 Chrome에서 디버거를 사용 설정하면 다음 오류가 발생합니다.

주 스레드의 동기 XMLHttpRequest는 최종 사용자의 경험에 해로운 영향을주기 때문에 더 이상 사용되지 않습니다. 도움이 필요하면 https://xhr.spec.whatwg.org/을 확인하십시오.

이 설정을 수정하려면 아약스 호출 내의 비동기 플래그를 true로 설정하십시오.

비동기 호출 중에 사용자가 누르지 못하게하려는 경우 (완벽하게 이해할 수 있음) 투명 차단 레이어를 사용하는 것이 좋습니다.

+0

입니다. 하나의 아약스 호출을 다른 아약스 호출 (아약스의 중첩 호출)에서 사용하려면 비동기 false가 필요합니다. 그래서 해결책이 있습니까? –

0

로드 패널은 비동기 작업 : 사실, 에만로드 패널이 표시되지 않습니다 파이어 폭스와 다른 대부분의 브라우저에서 작동 현명한 기타. 하지만 비동기 false이면 성공 및 오류 (콜백 함수) 이외의 모든 코드가 실행됩니다.

+0

이 대답을 명확히 설명해주십시오. – mayersdesign