2012-10-17 2 views
1

JSON 서비스를 사용하는 모바일 사이트를 개발했습니다. 크로스 도메인으로 JSONP를 사용합니다. 그것은 일하고 갑자기 파산했고, 나는 그 이유를 짐작할 수 없다.AJAX JSONP 리퀘 스셋에서 예상치 못한 토큰 오류가 발생했습니다.

내 자바 스크립트 전화 : 여기에 내가 브라우저에서 검사 할 수 있습니다 무엇

$.ajax({ 
url: apiBaseURL + "getoperators?appKey=" + appKey, 
dataType: 'jsonp', 
success: function(data) { 
    console.log(data); 
}, 
    error: function(jqXHR, textStatus, errorThrown) {    } 
}); 

내가 제대로 아래 형성된 것 같다 응답 볼 때 :

{ "GetOperatorsResult을" { "도시": "케이프 타운", "IsPublic": 사실, "모드": "버스", "이름": "골든 애로우"}, { "도시" ":"케이프 타운 ","IsPublic ": 사실,"모드 ":"셔틀 ","이름 ":"Jammie Shuttle "}, : "기차", "이름": "메트로 전철"}, { "도시": "케이프 타운", "IsPubl IC "사실,"모드 ""버스 ","이름 ":"MyCiti "},"상태 ":"성공 "}}

다음

는 네트워크 감사입니다 :

요청 URL : HTTP : //api.wimt.co.za/v1/json/public.svc/getoperators appKey = EB478338-73C7-483F-8AB4 - B4DE2219D4DC & 콜백 = jQuery18208015921225305647_1350479608882 & _ = 1350479608950 요청 방법 : GET 상태 코드 : 200 OK 요청 헤더 뷰 소스 수락 : / 수락 문자 집합 : ISO-8859-1, utf-8; q = 0.7, *; q = 0.3 연결 : 연결 유지 호스트 : api.wimt.co.za 호스트 : api.wimt.co.za 호스트 : api.wimt.co.za 호스트 : api.wimt.co.za 호스트 : api.wimt.co.za 참조 자 : http : // localhost : 8300/index.html 사용자 에이전트 : Mozilla/5.0 (Windows NT 6.1; EB478338-73C7-483F-8AB4 - B4DE2219D4DC 콜백 : jQuery18208015921225305647_1350479608882 _ : 1350479608950 응답 Headersview 소스 WOW64) AppleWebKit/537.4 (KHTML, 도마뱀 붙이 등) 크롬/22.0.1229.94 사파리/537.4 쿼리 문자열 Parametersview URL은 appKey 인코딩 콘텐츠 길이 : 353 콘텐츠 유형 : application/json; 문자셋 = UTF-8 날짜 : 수요일, 2012년 10월 17일 그리니치 표준시 13시 13분 43초 서버 : 마이크로 소프트 IIS/7.5 X-구동 - 기준 : ASP.NET

우리는 출시 뭔가 1 일 전으로있는 완벽하게 일하고 있었는데 깨졌고 나는 내 삶을 위해 무엇을 해결할 수 없습니다. 오류는 web.config에있을 수 있지만 모든 올바른 헤더/끝 점이 있습니다.

누군가 도와주세요. 고맙습니다!

+0

어떤 위치에 오류가 있습니까? –

+0

그것은 성공에 반대하는 오류 함수에 들어갑니다. 다음과 같은 응답이 나타납니다. 오류 : jQuery18208741367822512984_1350482142524가 호출되지 않았습니다. parsererror [object Object] – user1434739

+0

예와 파싱 오류의 위치는 무엇입니까?나는 그것이 첫 번째 문자라고 가정하고 DD는 이미 대답을 –

답변

2

원격 API가 더 이상 JSONP를 보내지 않지만 일반 JSON을 보내는 것으로 보입니다. 유효한 JSONP에서 응답이 콜백 이름으로 포장되어야한다 전화 :

jQuery18208015921225305647_1350479608882({"GetOperatorsResult":{"Error":"","Results":[{"City":"Cape Town","IsPublic":true,"Mode":"Bus","Name":"Golden Arrow"},{"City":"Cape Town","IsPublic":true,"Mode":"Shuttle","Name":"Jammie Shuttle"},{"City":"Cape Town","IsPublic":true,"Mode":"Train","Name":"Metrorail"},{"City":"Cape Town","IsPublic":true,"Mode":"Bus","Name":"MyCiti"}],"Status":"Success"}}) 

당신은 API의 소유자에게 문의하거나 JSONP 호출을 지정하는 방법을 이해하기 위해 설명서를 읽어야합니다.

+0

게시했습니다. 서버 쪽에서 어떻게 변했 을까요? – user1434739

+0

그것은 당신 편이 아닙니다. API를 호스팅하는 서버 (http : // api.wimt.co.za)에서 변경된 내용입니다. –

+0

발견했습니다! JSON 스트림과는 대조적으로 엔드 포인트 바인딩이 기본 스트림을 가리키고있었습니다.이 스트림에는 크로스 도메인 스크립팅 액세스가 활성화되어 있습니다. 포인터 주셔서 감사합니다;) – user1434739

관련 문제