English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

ajax 요청이 실패한 상태 코드가 0인 문제를 빠르게 해결하기

오늘 ajax를 사용하여 백엔드로 데이터를 요청할 때 오류가 발생하여, 상태 코드가 0인 것을 알려주는 경고가 나왔습니다. 백엔드는 spring mvc 아키텍처를 사용하고 있습니다.

상태 코드가 0이란 무엇을 의미합니까? 찾아보니, 이는 (미 초기화)를 의미하며 send() 메서드를 호출하지 않았다는 것을 의미합니다. 저의 원래 코드는 다음과 같습니다 :

$.ajax({
url:"test",
type:"post",
data:{
  blogTitle : $("#form1 input).val(),
  blogType : $("#form1 option:selected).val(),
  article : htmlcontent
},
dataType: "json",
success: function(data,textStatus){
  if(data.flag == "success"){
    alert("发表成功!");
    window.location.href = 'http://www.baidu.com';
  }    
},
error: function(XMLHttpRequest, textStatus, errorThrown){
  alert(XMLHttpRequest.status);
  alert(XMLHttpRequest.readyState);
  alert(textStatus);
}
 });

촐게 확인해 보면 아무런 이상이 없는 것 같습니다. 그리고 백엔드에서 데이터를 정상적으로 수신하고 있는 것을 보면, ajax가 데이터를 전송한 것을 의미합니다. 백엔드에서 출력된 관련 파라미터 정보입니다

다시 생각해 보니, 문제는 표单에 있었습니다:

<form onsubmit="addBlog();">
//중간 생략
<button type="submit">게시물 발행</button> 
</form>

보여지듯이, 저는 button 태그에 type="submit" 속성을 추가했습니다. 그러나 이렇게 하면 새로운一次 표单 클릭 제출이 발생하게 되며, form은 기본적으로 button 클릭 시 표单을 제출하므로, button type="submit" 시에도 새로운 제출이 발생하게 되어, ajax가 완료되지 않은 상태에서 표单 이벤트가 변경되는 문제가 발생합니다.

해결 방법: 위 코드를 다음과 같이 변경하세요:

<form onsubmit="return false">
//중간 생략
<button type="addBlog()">게시물 발행</button> 

이번에 ajax 요청이 0의 상태 코드로 실패하는 문제를 빠르게 해결하는 방법을 소개해 드린 것입니다. 이를 통해 여러분에게 참고가 되길 바라며, 간호 튜토리얼에 많은 지지를 부탁드립니다.

선언: 이 문서의 내용은 인터넷에서 가져왔으며, 원저자에게 소유권이 있습니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 이 사이트는 소유권을 가지지 않으며, 인공 편집 처리를하지 않으며, 관련 법적 책임을 지지 않습니다. 저작권 위반 내용이 있을 경우, 이메일을 notice#w로 보내 주시기 바랍니다.3codebox.com(보고할 때는 #을 @으로 변경하십시오. 관련 증거를 제공하고, 사실이 확인되면 이 사이트는 즉시 위반된 내용을 삭제합니다。)

좋아하는 것