복붙노트

[JQUERY] 나는 "catch되지 않은 구문 에러를 : 예기치 않은 토큰 (을)를"점점 계속

JQUERY

나는 "catch되지 않은 구문 에러를 : 예기치 않은 토큰 (을)를"점점 계속

해결법


  1. 1.jQuery를 같은 외모는 데이터 유형에 대한 추측을합니다. 당신이 객체에 JSON.parse ()를 호출 할 때 다음 오류가 있어요 - 그것은 당신이해서 getJSON ()를 호출하지 않는 경우에도 구문 분석 JSON을 수행합니다.

    jQuery를 같은 외모는 데이터 유형에 대한 추측을합니다. 당신이 객체에 JSON.parse ()를 호출 할 때 다음 오류가 있어요 - 그것은 당신이해서 getJSON ()를 호출하지 않는 경우에도 구문 분석 JSON을 수행합니다.

    또한 설명은 디트 야 미탈의 대답에서 찾을 수 있습니다.


  2. 2.문제는 매우 간단합니다

    문제는 매우 간단합니다

    jQuery.get('wokab.json', function(data) {
        var glacier = JSON.parse(data);
    });
    

    당신은 두 번 구문 분석하고 있습니다. 데이터를 JSON 형식으로 이미, 그래서 사용하는 dataType와 = 'JSON'를 얻을. $ 아약스 ({데이터 유형을 사용하여 'JSON'...에 구체적으로 반환 된 데이터 유형을 설정!


  3. 3.응답 헤더 텍스트는 기본적으로 경우 / html로 당신은 구문 분석해야하고, 응답 헤더가 응용 프로그램 / 인 경우는 이미 당신을 위해 구문 분석 JSON.

    응답 헤더 텍스트는 기본적으로 경우 / html로 당신은 구문 분석해야하고, 응답 헤더가 응용 프로그램 / 인 경우는 이미 당신을 위해 구문 분석 JSON.

    text / html과 응답에 대한 JQuery와 성공 핸들러에서 파싱 데이터 :

    var parsed = JSON.parse(data);
    

    응용 프로그램 / JSON 응답에 대한 JQuery와 성공 핸들러에서 파싱 데이터 :

    var parsed = data;
    

  4. 4.예기치 않은 토큰 오류에 대한 또 다른 힌트. 자바 스크립트 객체와 JSON 사이의 두 가지 차이점이 있습니다 :

    예기치 않은 토큰 오류에 대한 또 다른 힌트. 자바 스크립트 객체와 JSON 사이의 두 가지 차이점이 있습니다 :

    올바른 JSON

     {
        "english": "bag",
        "kana": "kaban",
        "kanji": "K"
    }
    

    오류 JSON (1)

     {
        'english': 'bag',
        'kana': 'kaban',
        'kanji': 'K'
     }
    

    오류 JSON 2

     {
        english: "bag",
        kana: "kaban",
        kanji: "K"
    }
    

    이 질문에 대한 직접적인 대답이 아니다. 그러나 예기치 않은 토큰 오류에 대한 답변입니다. 이 질문에 stumple 도움을 다른 사람이 될 수 있도록.


  5. 5.간단히 응답이 이미 구문 분석, 당신은 다시 구문 분석 할 필요가 없습니다. 당신이 다시 구문 분석하는 경우 그러나 당신이 = 'JSON'형 데이터 형으로 귀하의 요청에 데이터 유형을 지정해야합니다 당신에게 "예기치 않은 토큰 (을)를"줄 것이다

    간단히 응답이 이미 구문 분석, 당신은 다시 구문 분석 할 필요가 없습니다. 당신이 다시 구문 분석하는 경우 그러나 당신이 = 'JSON'형 데이터 형으로 귀하의 요청에 데이터 유형을 지정해야합니다 당신에게 "예기치 않은 토큰 (을)를"줄 것이다


  6. 6.난 그냥 지금 비슷한 문제를 가지고 내 솔루션은 도움이 될 수 있습니다. 나는 장면을 업로드하고 JSON으로 XML 파일을 변환 한 뒤에 다시 보내 iframe을 사용하고, 그리고 크롬에만 간헐적으로 표시하고 원인이 들어오는 데이터에 약간의 쓰레기를 추가했다 "catch되지 않은 구문 에러를 : 예기치 않은 토큰 O를" 오류.

    난 그냥 지금 비슷한 문제를 가지고 내 솔루션은 도움이 될 수 있습니다. 나는 장면을 업로드하고 JSON으로 XML 파일을 변환 한 뒤에 다시 보내 iframe을 사용하고, 그리고 크롬에만 간헐적으로 표시하고 원인이 들어오는 데이터에 약간의 쓰레기를 추가했다 "catch되지 않은 구문 에러를 : 예기치 않은 토큰 O를" 오류.

    이 같은 iframe이 데이터에 액세스되었다 :

    $('#load-file-iframe').contents().text()
    

    이는 로컬 호스트에 벌금을했다,하지만 난 서버에 업로드 할 때 일부 파일 만 작동이 중지 만 특정 순서로 파일을로드 할 때. 정말 원인이 무엇인지 모르겠지만,이 그것을 고정. 나는 위의 라인을 변경

    $('#load-file-iframe').contents().find('body').text()
    

    나는 HTML 응답에 약간의 쓰레기를 발견하면.

    긴 이야기는 짧게 원시 HTML 응답 데이터를 확인하고 뭔가를 설정 할 수 있습니다.


  7. 7.

    SyntaxError: Unexpected token o in JSON
    

    당신이 방법이 반환 JSON 데이터에 대한 await를 키워드를 사용하는 것을 잊지 경우에도 발생합니다.

    예를 들면 :

    async function returnJSONData()
    {
       return "{\"prop\": 2}";
    }
    
    var json_str = returnJSONData();
    var json_obj = JSON.parse(json_str);
    

    때문에 누락 된 AWAIT의 오류가 발생합니다. 무엇 실제로 반환되는 것은 약속 [목적]이 아닌 문자열입니다.

    당신이하는 거 야으로 해결하기 위해 단지 await를 추가 :

    var json_str = await returnJSONData();
    

    이것은 매우 명백해야하지만, 그것은 당신의 await를 메서드 호출과 JSON.parse 호출 사이에 거리가 있다면 놓치지 쉬운, 그래서 오류가, JSON.parse 호출됩니다.


  8. 8.반드시 당신의 JSON 파일은 이전 또는 이후에 후행 문자가없는 있는지 확인하십시오. 어쩌면 인쇄 할 수없는 하나? 이 방법을 시도 할 수 있습니다 :

    반드시 당신의 JSON 파일은 이전 또는 이후에 후행 문자가없는 있는지 확인하십시오. 어쩌면 인쇄 할 수없는 하나? 이 방법을 시도 할 수 있습니다 :

    [{"english":"bag","kana":"kaban","kanji":"K"},{"english":"glasses","kana":"megane","kanji":"M"}]
    

  9. 9.

    const getCircularReplacer = () => {
                  const seen = new WeakSet();
                  return (key, value) => {
                    if (typeof value === "object" && value !== null) {
                      if (seen.has(value)) {
                        return;
                      }
                      seen.add(value);
                    }
                    return value;
                  };
                };
    JSON.stringify(tempActivity, getCircularReplacer());
    

    "위치는 1 JSON에서 예기치 않은 토큰 오 - 스택 오버플로를 구문 에러"tempActivity는 오류를 생성하는 데이터를 fething되는 경우

  10. from https://stackoverflow.com/questions/8081701/i-keep-getting-uncaught-syntaxerror-unexpected-token-o by cc-by-sa and MIT license