ajaxjson 형식 데이터를 백그라운드로 전송할 때 오류 415가 발생하는 이유와 해결 방법은 무엇입니까? 아래 스크립트 하우스 에디터가 Ajax를 통해 json 형식의 데이터를 백그라운드로 전송할 때 발생하는 415 오류 원인에 대한 분석 및 해결 방법을 알려드립니다. ajax에 관심 있는 친구들은 함께 살펴보세요
문제 설명:
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){ } }); }
백엔드 코드
오류 분석: 415(지원되지 않는 미디어 유형) 요청한 형식은 요청한 페이지에서 지원되지 않습니다
올바른 json 형식인 {key:value, key:value}key와 value에는 모두 큰따옴표가 있어야 합니다. 위 프론트엔드 코드 데이터의 데이터 값에는 큰따옴표가 없어 오류가 보고됩니다(이전 프로젝트에서는 이렇게 써도 문제가 없었기 때문입니다)
그래서 예비 분석에서는 에 문제가 있을 수 있습니다. Framework, 일부 프레임워크는
데이터를 사용할 수 있습니다. {"uuid" : uuId,"idCard" : idCard}는 올바른 json 형식으로 캡슐화됩니다.
구체적인 이유는 아직 알려지지 않았습니다. 블로거도 초보인데, 블로거가 알아내면 공유하겠습니다
해결책: 프론트 데스크의 코드를 엽니다 comments
@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 ; }
위 내용은 에디터가 소개한 Ajax가 json 형식의 데이터를 백그라운드로 전송할 때 발생하는 415 오류에 대한 분석 및 해결 방법입니다. !
관련 권장사항:
위 내용은 Ajax가 json 형식의 데이터를 백그라운드로 전송할 때 415 오류 원인 분석 및 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!