2012-10-02 2 views
0

이봐 모든 난 다음 아약스 POST 호출이 있습니다아약스 POST는 다른 모든 브라우저에

function callAjax(what2Do) 
    { 
     jQuery.ajax({ 
      url: "count.php?do=" + what2Do, 
      type: "POST", 
      data: "", 
      cache: false, 
      success: function(response, textStatus, jqXHR){ 
       alert('done!'); 
      }, 
      error: function(jqXHR, textStatus, errorThrown){ 
       alert(
        "The following error occured: "+ 
        textStatus, errorThrown 
       ); 
      } 
     }); 
    } 

그리고 내가 다음과 같은 오류가 발생 오류가 계속 : 오류를 실행할 때 페이지를 iE9에 있지만 다른 모든 브라우저에서 잘 작동합니다.

내가 IE에서 작동하지 않도록하려면 어떻게해야합니까? 반환은 간단한 텍스트입니다.

+0

더 자세한 정보를 얻으려면 경고를 수정하여 자세한 정보를 얻으십시오. 'textStatus + "|" + errorThrown' –

+1

IE9 개발 도구 (F12)의 네트워크 탭을 확인하십시오. 이것은 당신에게 완전한 응답을 줄 것입니다. 그 후에 뒤죽박죽을 보내면 추가 도움을 위해 여기에 응답을 게시하십시오. –

+0

내 돈이 그에게 IE8을 의미합니다. –

답변

0

이 시도 :

function callAjax(what2Do) 
{ 
    jQuery.ajax({ 
     url: "./count.php", 
     type: "GET", 
     data: { 'do': what2Do }, 
     cache: false, 
     success: function(response, textStatus, jqXHR){ 
      alert('done!'); 
     }, 
     error: function(jqXHR, textStatus, errorThrown){ 
      alert(
       "The following error occured: "+ 
       textStatus, errorThrown 
      ); 
     } 
    }); 
} 
+0

두 번째 제안. GET 데이터 대신 POST 데이터를 사용하도록 서버 측 코드를 수정하는 것을 잊지 마십시오. – akhaku

+0

그래, OP가 URL에 GET 데이터가 포함 된 POST를 보내고 있다는 것이 내 관심사였습니다. 문제는 아니지만 IE8은 특히 이런 일에 매우 까다 롭습니다. –

+0

그것의 작품은 여전히 ​​IE9 ... – StealthRT

1

나는 불행하게도 거의 동일한 조건을 처리하는 기존의 IE 동작의 충돌 과정을해야했다. 필자의 경우 CORS를 처리하기 위해 자체의 독점적 인 XDomainRequest 객체를 사용하는 것은 IE의 완고한 insistence으로 내려갔습니다. 좋은 링크 :

, 나는 내 프로젝트에 다음과 같은 것을 사용 필요할 경우 상황을 설명합니다.

// This is necessary due to IE<10 having no support for CORS. 
function fallbackXDR(callObj) { 
    if (window.XDomainRequest) { 
     var xdrObj = new XDomainRequest(); 
     xdrObj.timeout = callObj.timeout; 
     xdrObj.onload = function() { 
      handleSuccess(xdrObj.responseText); 
     }; 
     xdrObj.onerror = function() { 
      handleError(xdrObj); 
     }; 
     xdrObj.ontimeout = function() { 
      callObj.xdrAttempts = callObj.xdrAttempts++ || 1; 
      if (callObj.xdrAttempts < callObj.maxAttempts) { 
       fallbackXDR(callObj); 
      } 
     }; 
     xdrObj.onprogress = function() { 
      // Unfortunately this has to be included or it will not work in some cases. 
     }; 

     // Use something other than $.param() to format the url if not using jQuery. 
     var callStr = callObj ? '?'+$.param(callObj.urlVars) : ''; 
     xdrObj.open("get", callObj.url+callStr); 
     xdrObj.send(); 
    } else { 
     handleError("No XDomainRequest available.", callObj); 
    } 
}//fallbackXDR() 
관련 문제