이번에는 Ajax가 json 형식의 데이터를 백그라운드로 전송할 때 오류를 처리하는 방법을 보여 드리겠습니다. Ajax가 json 형식의 데이터를 백그라운드로 전송할 때 오류를 처리할 때 주의사항은 무엇입니까? 바라보다.
문제 설명:
Ajax는 아래 그림과 같이 415 오류를 보고하기 위해 json 형식 데이터를 백그라운드로 전송합니다.
페이지 코드
function saveUser(){ var uuId = document.getElementById("uuid").value; var idCard = document.getElementById("idCard").value; alert(uuId+idCard); // var result = new Object(); // result.uuId = uuId; // result.idCard = idCard; // var saveData = JSON.stringify(result); // alert(saveData); $.ajax({ url : "xdds/saveUser.do?random=" + Math.random(), type : "post", data : {"uuid" : uuId,"idCard" : idCard}, // data:saveData, dataType : 'json', // contentType : "application/json", success:function(data){ } }); }
배경 코드
@RequestMapping(value = "/saveUser.do", method = { RequestMethod.POST }) @ResponseBody public Map<String, Object> saveUser (@RequestBody MapUser user){ Map<String, Object> map = new HashMap<String, Object>(); System.out.println(user.getUuid()+user.getIdCard()); map.put("result", "fda"); return map ; }
오류 분석: 415 (지원되지 않는 미디어) 유형) 요청한 형식은 요청한 페이지에서 지원되지 않습니다
올바른 json 형식인 {key:value, key:value} 키와 값 모두 큰따옴표가 있어야 합니다. 위 프론트엔드 코드 데이터의 데이터 값에는 큰따옴표가 없어 오류가 보고됩니다(이전 프로젝트에서는 이렇게 써도 문제가 없었기 때문입니다)
그래서 예비 분석은 프레임워크에 문제가 있을 수 있습니다 . 일부 프레임워크에서는
data: {"uuid" : uuId,"idCard" : idCard}가 올바른 json 형식으로 캡슐화될 수 있습니다.
구체적인 이유는 아직 알려지지 않은 블로거이기도 합니다. 블로거가 알아내면 공유하겠습니다
해결책: 프런트에 댓글 달린 코드를 열어보세요
var saveData = JSON.stringify(result)<br>这个函数可以转化成真确的json格式。<br><br>ps:小白一个,有不对的地方请大神指正;有大神知道具
이 기사 방법의 사례를 읽은 후 마스터했습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사에 주목하세요!
추천 자료:
Ajax 백그라운드 성공으로 업로드된 json 데이터를 처리하는 방법
ajax는 페이지의 반환 매개변수를 가져오고 컨트롤에 값을 할당합니다
위 내용은 Ajax가 json 형식 데이터를 백그라운드로 전송할 때 오류를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!