jQuery.exec_json로는 act, mid, document_srl, content값을 주면 제대로 입력이 되는걸 확인 하고
jQuery.exec_json("board.procBoardInsertComment", {"mid":"게시판", "document_srl":"게시물 번호", "content" : "댓글 내용"}, function(data){ console.log(data) });
안드로이드 앱에서 사용하기 위해
HTTP POST 방식으로 /xe/index.php?act=procBoardInsertComment에
JSON 형식으로 {"mid":"게시판", "document_srl":"게시물 번호", "content" : "댓글 내용"} 을 넣어 보내면 대상을 찾을 수 없다는 메시지를
FormUrlEncoded 형식으로 보내면 잘못된 요청입니다라는 메시지를 받네요.
어떤점이 잘 못 된걸까요
댓글 3
1. 리퍼러 체크 (CSRF 공격 방지)
2. JSON으로 인코딩해서 보내는 거 아닙니다. 그냥 평범한 HTTP POST 요청을 하시면 돼요.
아래의 소스를 보시면 알겠지만, exec_json 함수에서도 요청 내용을 JSON으로 인코딩하지는 않고 있습니다.
(그러면서도 헤더는 Content-Type: application/json으로 설정하는 참 이상한 XE입니다.)
https://github.com/xpressengine/xe-core/blob/master/common/js/xml_handler.js#L411
두분께서 댓글 달아주신대로
헤더에 리퍼러 넣고
그냥 FormUrlEncoded 방식으로 보내니 정상적으로 댓글이 달리네요 !
답변 감사합니다!