2016-08-01 2 views
0

일부 샘플 JSON 코드가있는 외부 JS 파일을 호출하는 중, 샘플 json 코드를 파일에 넣으려고하면 ":"에 오류가 발생하지만 유효성을 검사 할 때 온라인 도구를 사용하면 유효한 json으로 표시됩니다. 이 코드에서 잘못된 점은 무엇입니까? 여기 Ajax를 사용하여 외부 파일에서 JSON 데이터 호출하기

내 코드

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 


    <script> 
$(document).ready(function() { 

    $('#click').click(function() { 
     $.ajax({ 
      url: "json.js", 
      method: "GET", 
      dataType: 'application/json', 
      contentType: "application/json", 
      success: function(result){ 
        console.log(result); 
      }, 
      error:function() { 
       alert("Error")     
      } 
     }); 
    }); 
}); 
</script> 

내 외부 json.js

{ 
"data": [{  ------> throwing error at ":" as Syntax error on token ":", ; expected 
    "Service": "INSTACC", 

    "Create Date": "30-Jul-2016" 


}, { 
    "Service": "INSTACC", 

    "Create Date": "30-Jul-2016" 


}] 

} 
+0

json 파일의 확장자가 .json인지 확인하십시오. – madalinivascu

+0

lol 페이지의 js 파일을 참조하는 경우도 있습니다. 페이지에서 파일을 참조하는 경우 왜 ajax를 사용해야합니까? – madalinivascu

+0

이 URL을 참조하십시오 http://stackoverflow.com/questions/6699091/json-file-extension – mean

답변

0

변경하여 파일 JSON으로 유형 및 데이터 유형 "JSON"

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
$(document).ready(function() { 

    $('#click').click(function() { 
     $.ajax({ 
      url: "json.json", 
      method: "GET", 
      dataType: 'json', 
      success: function(result){ 
        console.log(result); 
      }, 
      error:function() { 
       alert("Error")     
      } 
     }); 
    }); 
}); 
</script> 
+0

죄송합니다. 내가 .js로 잘못 놓았습니다. 계속 오류 콜백으로 되돌아갑니다. – Syed

+0

xhr 요청 본문은 어떻게 생겼습니까? – madalinivascu

+0

요청 몸이 필요 없다 .. 단지 외부 Json 파일을 호출하고 성공한 데이터를 – Syed

0

"응용 프로그램/JSON입니다 "은 (는) dataType 속성에 유효한 값이 아닙니다. 데이터 유형을 'json'으로 변경하십시오.

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>MyDemo</title> 
</head> 
<body> 
<button id="click">Click Me</button> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 
    $(document).ready(function() { 

     $('#click').click(function() { 
      $.ajax({ 
       url: "json.js", 
       method: "GET", 
       dataType: 'json', 
       contentType: "application/json", 
       success: function(result){ 
        console.log(result); 
       }, 
       error:function(req, status, err) { 
        console.log(req); 
        console.log(status); 
        console.log(err); 
       } 
      }); 
     }); 
    }); 
</script> 
</body> 
</html> 
+0

감사합니다. Arun. 그것의 방법에 의해 이미 완료되었습니다. – Syed

+0

@Arun Kumar 왜 그는 contentType이 필요합니까? – madalinivascu

+0

@ madalin ivascu contentType은 보내는 데이터 유형입니다. 데이터 유형은 json, html, text 등입니다. 죄송합니다. 클라이언트로부터 서버로 데이터를 보내지 않고 요청을 받으면 제거 될 수 있습니다. –

관련 문제