jQuery가 요청 본문에 유효한 json을 게시합니다.
따라서 jQuery Ajax 문서에 따르면 요청을 전송할 때 쿼리 문자열 형식으로 데이터를 직렬화하지만,processData:false
본체에 실제 JSON을 보낼 수 있습니다.유감스럽게도 먼저 이 문제가 발생하고 있는지, 다음으로 오브젝트가 어떻게 생겼는지 서버에 전송되는지를 판단하는 데 어려움을 겪고 있습니다.내가 아는 건 서버가 내가 보낸 것을 해석하지 않고 있다는 거야.
http 클라이언트를 사용하여 오브젝트 리터럴을 게시하는 경우{someKey:'someData'}
,그건 효과가 있다.단, jQuery를 사용하여data: {someKey:'someData'}
에러가 납니다.안타깝게도 Safari에서 요청을 분석하면 메시지 페이로드가[object Object]
...좋아요...파이어폭스에서는 투고가 공백으로 되어 있습니다.
Java 측에서 본문 콘텐츠를 로깅하면 문자 그대로[object Object]
그럼 어떻게 리얼 JSON 데이터를 보낼까요?
jQuery에서 전송된 요청으로 요청 본문에서 JSON 데이터를 직렬화한 Java 서비스를 경험한 사람이 있습니까?
BTW는 $.ajax 요청 전문입니다.
$.ajax({
contentType: 'application/json',
data: {
"command": "on"
},
dataType: 'json',
success: function(data){
app.log("device control succeeded");
},
error: function(){
app.log("Device control failed");
},
processData: false,
type: 'POST',
url: '/devices/{device_id}/control'
});
실제 JSON 요구는 다음과 같습니다.
data: '{"command":"on"}',
실제 JSON 문자열을 전송하는 위치입니다.보다 일반적인 솔루션에서는 다음과 같이 오브젝트를 JSON에 시리얼화 합니다.
data: JSON.stringify({ "command": "on" }),
이 기능이 없는 이전 브라우저를 지원하려면JSON
object를 추가할 json2.block을 사용합니다.
지금 일어나고 있는 일은 당신이 이 일을processData: false
기본적으로는 다음과 같이 송신됩니다.({"command":"on"}).toString()
어느 것이[object Object]
...당신의 요청에서 본 것.
언급URL : https://stackoverflow.com/questions/4159701/jquery-posting-valid-json-in-request-body
'programing' 카테고리의 다른 글
이동 중에도 변수를 유지할 수 있는 방법이 있습니까? (0) | 2023.04.15 |
---|---|
"변경 내용을 커밋하거나 병합하기 전에 저장하십시오"라는 git을 해결하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
네이티브와 안드로이드 대응 (0) | 2023.04.05 |
응답 useReducer 비동기 데이터 가져오기 (0) | 2023.04.05 |
JS index.js 파일에 접속하는 index.html을 ID 참조용으로 어떻게 반응합니까? (0) | 2023.04.05 |