2012-12-18 3 views
0

내가 jQuery로 간단한 웹 사이트 (1.8.2) 아약스 호출하고 있습니다 jsonlint 통과하면서 parseerror 말 :jQuery를 아약스() JSON은

$.ajax({ 
    url: 'http://localhost:1337?callback=?', 
    dataType: 'jsonp', 
    crossDomain: true, 
    success: function(a,b,c) { 
    console.log('success',a,b,c); 
    }, 
    error: function(a,b,c) { 
    console.log('error',a,b,c); 
    } 
}); 

웹 페이지를 한 헤더 :

Access-Control-Allow-Origin * 
Access-Control-Expose-Headers Access-Control-Allow-Origin 
Access-Control-Allow-Headers * 

아약스되는 return'd이다 :

[{"a":"b"}] 

(도 JSONlint를 통과하는) 상기 JSON가 application/json으로서 게재되고 당신은

$_GET["callback"] . "('[\"a\":\"b\"]')" 

하지를 반환해야합니다

'error' 
[object] 
'parsererror' 
Error 
    arguments: undefined 
    get stack: function() { [native code] } 
    message: "jQuery18209882410678546876_1355861965752 was not called" 
    set stack: function() { [native code] } 
    type: undefined 
+0

'JSON' 또는'JSONP'을 사용할 계획이 있습니까? – Alexander

+0

POST 또는 GET입니까? 아약스 호출에서이를 정의하는 것이 좋습니다. –

+0

내가 게시해야하는 데이터가 없으므로 유용합니다. 추가 한 후에도 여전히 작동하지 않습니다. 난 그냥 다른 소스에서 데이터를 얻고 싶습니다 (지금이 순간 또 다른 포트). – askmike

답변

0

바로 JSON, JSONP jQuery를 다시 실행 스크립트 코드를 얻을 것으로 기대로 인해 :

그러나 나는 구문 분석 오류가 발생합니다.

+0

나는 그것이 작동하지 않을까 걱정된다.'Uncaught SyntaxError : 예상치 못한 토큰? ' – askmike

+0

최근 편집보기 ...? jQuery (무언가 jQuery1830690531364994632_1355864465030과 같은 것) – devnull69

+0

에 의해 추가 될 실제 콜백 함수 이름을위한 자리 표시 자이고'application/json' 대신'Content-type : text/javascript'를 사용해야합니다 – devnull69