Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코드업
- HashSet
- 프로그래머스
- 부트캠프
- Python
- DTO
- 알고리즘
- 부스트코스
- Codeup
- @AllArgsConstructor
- SQL
- 에러
- HTML
- 깃허브
- entity
- 파이썬
- 상속
- 자바
- @NoArgsConstructor
- lv1
- git
- 브랜치
- stringbuffer
- 캡슐화
- 기본생성자
- java
- @builder
- html tag
- github
- CRUD
Archives
- Today
- Total
잉?
Uncaught (in promise) SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON 해결법 + JSON이란? 본문
에러메시지,에러해결
Uncaught (in promise) SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON 해결법 + JSON이란?
Jye_647 2023. 5. 18. 23:57일단 나는 파이썬 flask를 이용해 미니프로젝트를 만들고 있었다.
근데 아래와 같은 오류가 발생했다.
뭐 명확한 이유도 없고.. 그저 데이터들을 JSON을 통해 가져오려 하니깐
"html파일은 JSON파일이 아니라고 SyntaxError가 났다."라고만 메시지가 뜬다.
*SyntaxError는 문법적으로 유효하지 않을 때 나는 에러다.
구글링을 한 결과 오류 메시지는 같은데 해결법이 다 달랐다.
첫번째로, <head>부분에 jquery 스크립트를 붙여넣지 않아서 발생한 사람도 있었고,
<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
두번째로, fetch("guestbook") 에서 /를 빼먹어서 발생한 사람도 있었다.(밑의 코드블럭 처럼 작성해야 함)
function save_comment() {
let formData = new FormData();
let name = $("#name").val();
let comment = $("#comment").val();
formData.append("name_give", name);
formData.append("comment_give", comment);
fetch("/guestbook", { method: "POST", body: formData })
.then((res) => res.json())
.then((data) => {
alert(data["msg"]);
window.location.reload();
});
}
나는 jsonify를 이용해 테이블의 데이터와 html파일을 함께 보내려고 하니깐 오류가 난 경우 였다.
(왜 같이 보내면 안되는지 아직도 잘 모르겠지만... 라우팅의 이해도가 부족한건지..)
@app.route('/guestbook')
def guest():
return render_template('/guestbook.html')
-----------------------------------------------화면을 렌더링해주는 URL
@app.route("/guestbook", methods=["GET"])
def guestbook_get():
all_comments = list(db.comments.find({},{'_id':False}))
return jsonify({'result' : all_comments})
-----------------------------------------------데이터를 전송해주는 jsonify?
위의 코드 중 URL을 분리해줬다. @app.route()부분!
@app.route('/guestbookView')
def guest():
return render_template('/guestbook.html')
-----------------------------------------------화면을 렌더링해주는 URL
@app.route("/guestbook", methods=["GET"])
def guestbook_get():
all_comments = list(db.comments.find({},{'_id':False}))
return jsonify({'result' : all_comments})
-----------------------------------------------데이터를 전송해주는 jsonify?
잘 작동 되는것을 확인할 수 있다ㅜ
이게 뭐라고 날 이렇게 힘들게 하는지,,
위의 오류메시지에서 보았듯 JSON이란 무엇일까?
- 서버에서 클라이언트로 데이터를 내려줄 때 즉, dictionary(사전) 형태로 내려주는 걸 말한다.
- 사전형 데이터
- key와 value를 1대 1로 대응시킨 형태이다. { key : value }
예시) {'name' : '티스토리"}
JSON 데이터를 가독성 있게 볼 수 있도록 해주는 확장 프로그램
'에러메시지,에러해결' 카테고리의 다른 글
Comments