>  기사  >  웹 프론트엔드  >  Ajax 요청이 성공적으로 전송되었지만 성공하지 못한 솔루션(그림 및 텍스트 튜토리얼)

Ajax 요청이 성공적으로 전송되었지만 성공하지 못한 솔루션(그림 및 텍스트 튜토리얼)

亚连
亚连원래의
2018-05-21 16:28:382935검색

아래에서는 Ajax 요청이 성공적으로 전송되었으나 성공으로 입력되지 않는 문제에 대한 해결 방법을 공유하겠습니다. 이는 좋은 참조 값을 갖고 있으며 모든 사람에게 도움이 되기를 바랍니다.

1. 상황 설명: ajax가 성공적으로 전송되고, 백그라운드도 요청에 성공적으로 응답하고 json 데이터를 반환합니다. 크롬을 통해 요청을 모니터링하면 응답 json 데이터를 볼 수도 있습니다. 성공 메소드, 오류 메소드 실행

$.ajax({
 type : "get",
 data : {'dbId':node.dbId,'viewId':node.id,'date':new Date()},
 url : "${ctp}/ViewOperate/ShowViewSql",
 dataType : "json",
 success : function(data){
   console.log(data);
   layer.alert(data,{
     skin: 'layui-layer-molv'
   });
 }
 error : function(data){
   layer.alert("进入了error方法",{
     skin: 'layui-layer-molv'
   });
 }
});

백엔드:

@RequestMapping(value="/ShowViewSql",method=RequestMethod.GET)
@ResponseBody
public String showCreateViewSql(@RequestParam(value="dbId",required=false)Integer dbId,
   @RequestParam(value="viewId",required=false)Integer viewId) {
 return "abc";
}

이유 :

반환된 json 데이터는 배경은 순수 String 유형 객체이고 프런트 엔드 dataType 속성이 json으로 설정된 후에는 String 객체에 의해 변환된 json 데이터 형식이 표준 json 형식이 아닌 것으로 간주되므로 오류에 해당하는 메서드는 처형되다. 해결책:

백엔드를 변경할 필요가 없습니다. 프런트엔드 Ajax 요청의 dataType 속성을 text

$.ajax({
   type : "get",
   data : {'dbId':node.dbId,'viewId':node.id,'date':new Date()},
   url : "${ctp}/ViewOperate/ShowViewSql",
   dataType : "text",
   success : function(data){
     console.log(data);
     layer.alert(data,{
       skin: 'layui-layer-molv'
     });
   }
   error : function(data){
     layer.alert("进入了error方法",{
       skin: 'layui-layer-molv'
     });
   }
});

특수 사례:

에서 json 번호가 반환되는 경우 backend is "1", "2", "22", "232123", "-1", "232123.44"와 같은 숫자 문자열을 사용할 때 프런트 엔드 dataType 속성이 json으로 설정된 경우 성공 방법은 다음과 같습니다. 정상적으로 입력되었습니다. 이유는 알 수 없습니다. 위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다. 관련 기사:

Struts2 및 Ajax 데이터 상호 작용(그래픽 튜토리얼)

네이티브 ajax로 작성된 풀업 로딩 예제(그래픽 튜토리얼)

MUi 프레임워크 ajax 요청 WebService 인터페이스 example_AJAX 관련


위 내용은 Ajax 요청이 성공적으로 전송되었지만 성공하지 못한 솔루션(그림 및 텍스트 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.