>웹 프론트엔드 >JS 튜토리얼 >Ajax가 json 형식 데이터를 백그라운드로 전송할 때 오류를 처리하는 방법

Ajax가 json 형식 데이터를 백그라운드로 전송할 때 오류를 처리하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-03 14:14:112231검색

이번에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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