2014-09-20 4 views
0

json 데이터로 반환 된 데이터를 표시하려고합니다. 하지만 나는 오류로 반환 된 데이터를 받고있다.return Json 구문 오류

여기 내 코드입니다 : 내가 $.getJson을 시도

$.ajax({ 
    url:"http://excelonlineclasses.com/test.json", 
    dataType: "jsonp", 
    success: function(data){ 
     alert(data.facets.stats.total); 
    } 
    }); 

하지만하지 는 바이올린 링크를 http://jsfiddle.net/6Yj5h/1680/

저를 제공하시기 바랍니다 해결책을 찾아 주시기 바랍니다 작동합니다. 미리 감사드립니다.

+0

정확하게 무엇을합니까? * "오류로 반환 된 데이터를 얻고 있습니다."라는 의미입니까? –

+0

jsfiddle 링크를 열고 구문 오류를 찾을 수있는 콘솔을 확인하십시오. 하지만 유효한 json 만 – user2952267

+1

jsfiddle은 외부 사이트 AFAIK에 대한 요청을 허용하지 않습니다. 그래서 더 나은 문제를 대신 설명 ... –

답변

0

ne1410s가 정확합니다. URL은 JSONP가 아니라 JSON을 제공합니다.

  1. 즉를 가져 JSONP
  2. 자신의 서버 측 스크립트를 작성 CORS (교차 리소스 공유)를 지원하기 위해 서버를 가져 오기를 제공하는 URL을 가져옵니다 :

    당신은 세 가지 선택 사항이 있습니다 데이터를 입력 한 다음 스크립트에 입력하십시오.

네 번째 선택 사항이 있다고 생각하지만 솔직히 여기에서 해킹을 시도합니다.

Access-Control-Allow-Origin: http://excelonlineclasses.com/ 
Access-Control-Allow-Methods: GET 
Access-Control-Allow-Headers: content-type 
Access-Control-Max-Age: 10 

을 ...하지만 거기서 끝나지 않습니다

서버가 CORS를 지원하기 위해 얻으려면, 당신은 같은 헤더에 몇 가지 물건을 추가 할 것입니다. 브라우저는 GET 또는 POST 외에도 OPTIONS 요청을 보내서 서버가 CORS에 대해 어떻게 느끼는지 확인할 수 있습니다. 위의 내용은 실제로 서버가이 경우에 반환해야하는 것입니다. 당신이 CORS를 설정하려는 경우 다음 크로스 원산지 요청 오류가 발생할 경우

, 내가 http://enable-cors.org/

+0

어떻게 서버가 CORS (Cross-Origin Resource Sharing)를 지원하도록 할 수 있습니까? – user2952267

+0

간략한 예를 들어 답을 편집했습니다. 먼저 OPTIONS에 대한 요청이 있는지 먼저 확인해야합니다. –

0

같은 것을 읽어 보시기 바랍니다 당신은 당신이 추가 기능이에 의해 당신이 achive 수 PHP에서 크로스 원점 요청을 허용하도록 헤더 설정할 수 있습니다 코드의 라인 :

header('Access-Control-Allow-Origin: *'); 

(그러나 실제로 크로스 원산지 Requests- * 어떤 사이트에서 의미 사용하려면 있는지 확인하고 당신은 당신이 원하는하지 않을 수 있습니다 보안상의 이유로 어떤 경우에는 무엇을하고 있는지 알고있다!. 이것을 허락 해주세요)

+0

jquery – user2952267

+0

헤더와 함께 할 수있는 방법이 서버에 의해 설정되어 있는지 알고 있습니다. – Andreas