programing

Ajax 요청 문제: 오류 800001

lastcode 2023. 7. 26. 22:08
반응형

Ajax 요청 문제: 오류 800001

저는 jsp 페이지를 반환하는 요청이 있습니다.그러나 사실 jsp는 jsp:include를 포함하고 있으며(다른 jsp 파일을 호출함) 80020101이라는 오류를 표시합니다.

아이디어 있어요?

감사해요.

jQuery에서 AJAX를 호출할 때 어레이 끝에 다음과 같은 추가 쉼표를 전달하는 경우에도 이 오류가 발생할 수 있습니다.

$.post('http://example.com/example1/',{
  field1:sField1,
  field2:sField2,
  field3:sField3,
  field4:sField4,
  field5:sField5,
},function(sData){
  if (console) { console.log(sData); }
});

sField5 뒤에 쉼표 보여요?그것이 구문 오류입니다.IE 외에 다른 브라우저는 관심이 없습니다.IE는 모호한 800001 오류("자바스크립트를 평가할 수 없음 -- 구문 오류가 있음"을 의미)를 던질 것이며, 디버거가 jQuery의 평가 행만 가리키기 때문에 jQuery를 사용하는 경우 이 오류를 추적하는 것은 사실상 어려울 것입니다.마이크로소프트 덕분에 IE 디버거는 이를 쫓는 데 아무 소용이 없을 것입니다.다음 번에 800001 오류가 발생하면 다음과 같이 제안합니다.

  1. AJAX 호출이 있는지 확인하고 추가 쉼표를 찾습니다.
  2. 끝에 추가 쉼표가 있는 배열(예: 물결 괄호 안의 항목)을 찾습니다.
  3. 이 되지 , 이 사용하는 기술을 보세요.<!--그리고.//-->당신의 자바스크립트를 표시합니다.이것은 1.7.2 이전까지 jQuery에서 알려진 문제였으며, 여전히 jQuery 팀의 파일 버그입니다.
  4. jQuery의 최신 버전으로 이동합니다.
  5. 스크립트 블록에서 항목을 하나씩 제거하고 문제가 되는 코드 조각을 찾을 때까지 항목을 천천히 추가합니다.

src-attribute를 사용하여 스크립트를 가져오는 javascript 선언을 제거합니다.필요하다면 자바스크립트 파일을 인라인 자바스크립트로 변경하세요.

출처: http://bytes.com/topic/javascript/answers/750333-ie-syntax-error-80020101-undefined-array

가장 쉬운 방법은 ajax=1과 같은 매개 변수를 AJAX 요청에 추가하고 ajax-매개 변수가 요청에 있을 때 javascript 선언을 숨기는 것입니다.

브라우저는 당신이 사용하는 HTML 외에는 아무것도 모르기 때문에 이것은 jsp:include 파일을 포함하는 것과 관련이 없다고 생각합니다.

저는 이제 jQuery(최신 버전)에서 이 문제를 두 번 발견했습니다.유일한 해결책은 모든 자바스크립트를 복사하여 하나의 큰 파일붙여넣고 JSLint(jsfiddle.net , 선호)를 통해 실행하는 것입니다.문제를 해결할 수 있었던 몇 가지 사소한 오류(데이터 콜백 구조 중 하나에 추가 콤마 포함)를 지적한 다음 문제를 제거하기 위해 원래 위치에 다시 복사하여 붙여넣을 수 있었습니다.

http://jsfiddle.net/devlshone/QKxup/3/

저도 같은 오류가 있었지만 제 경우에는 예약된 단어가 있었습니다.'class'다음은 이를 명확히 하기 위한 코드의 일부입니다.

function foo(ajaxResponse){
  $(elem).attr('class', ajaxResponse.class);
}

나는 이것을 다음과 같이 다시 썼습니다.

$(elem).attr('class', ajaxResponse['class']);

이것이 도움이 되었기를 바랍니다.

제 경우 JS 코드에 다음과 같은 HTML 주석이 있는 것을 발견했습니다.

<script type="text/javascript">
<!-- Unexpected Comment -->
//code...
</script>

교체했습니다<!-- -->와 함께/* */그리고 그것은 성공하였다.누군가에게 도움이 되길 바랍니다.

저는 이 문제에 부딪혔고 IE의 오류 메시지는 별로 도움이 되지 않았습니다.그래서, 저는 Mozilla Firefox에 있는 제 사이트를 방문했고 Firefox는 문제가 있는 코드의 정확한 줄을 정확히 찾아낼 수 있었습니다.최신 기술 수정은 아니지만 이 문제를 디버깅하기 위해 IE만 사용한 경우 FF로 사이트를 로드하고(Firebug 확장이 설치되어 있음) 콘솔 출력을 확인해 보십시오.

저도 이 문제에 부딪혔지만, 제 스크립트 파일을 자세히 살펴본 후 다른 브라우저에서 원활하게 실행되는 작은 실수를 저질렀지만 선택하여 오류를 표시합니다.

이전 코드는 다음과 같습니다.

var autocomplete = new google.maps.places.Autocomplete(searchTextField ,options);

분석한 결과, 저는searchTextFieldID이며 사용하기 전에 값을 받아야 합니다.

그래서 다음으로 변경합니다.

var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input,options);

그리고 그것은 잘 작동합니다.

IE에서 이를 감지하는 것은 정말 멋진 일이지만, Microsoft는 다른 브라우저에서 동일한 코드가 작동하면 매우 답답하기 때문에 특정 원인에 대한 특정 오류를 표시하도록 브라우저를 향상시킬 수 있습니다.

나의 경우 문제는 오류 기능의 끝에 있는 Ajax POST에서 쓸모없는 혼수상태가 추가된 것이었습니다.

$.ajax({
     type: 'POST',
     dataType: 'text',
     url: '../Client/GetName',
     data: { ClientId: id},
     success: function (respone) {
                alert(respone);
     },
     error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.statusText);
     }, //<- look here, this guy complicated my simple programmer life
 });

제거한 후에는 모든 것이 정상적으로 작동합니다.

혹시 당신은 js 파일을 포함하고 있습니까?

왜냐면

오류 800001은 IE가 스크립트를 컴파일할 수 없음을 의미합니다.

jquery를 사용하는 동안 다른 문제로 인해 이 오류가 발생했습니다.

$(문서)를 변경합니다.ready(function(함수){}); TO $(창).load(함수(){});

제 경험을 공유하고 싶었습니다.저의 경우 자바스크립트와는 아무런 관련이 없습니다.동료의 HTML에서 각도를 사용하는 이 행 때문이었습니다.

 <img data-ng-model="previewImage" src="" data-ng-src="{{imageURL}}" alt="" ></img>

저는 보통 src가 비어있는 것이 나쁜 것이라는 것을 기억했습니다.src 필드를 채웠더니 오류가 사라졌습니다.

jQuery 1.10.2를 사용하여 존재하지 않는 파일을 로드할 때 이 오류가 발생했습니다.

따라서 로드하려는 파일이 올바른지 확인하십시오. 그렇지 않으면 IE8에서 800001 오류가 발생할 수 있습니다.

문제의 원인은 다음과 같습니다.

var a = b = c = true;

로 전향한.

var a = true;
var b = true;
var c = true;

이제 잘 작동합니다!

안녕 MA

변수 선언 앞에 'var'를 붙이지 못해 문제가 해결되었다고 합니다.

<script>
    uploadDocument = "Some message";
</script>

다음으로 수정했습니다.

var uploadDocument = "Some message";

근본 원인은 동일한 ID "upploadDocument"를 가진 폼의 요소가 있었기 때문에 위의 선언으로 인해 HTML이 잘못된 형식이 되었습니다.

언급URL : https://stackoverflow.com/questions/4918969/ajax-request-problem-error-80020101

반응형