2012-08-03 4 views
2

특정 원격 웹 서비스에 액세스해야하는 모바일 응용 프로그램을 개발 중입니다. jQuery.ajax()를 사용하고 있으며 동일한 오리진 정책으로 인해 JSONP를 사용하여 요청을해야한다. 내 클라이언트 요청이 너무입니다 :jQuery를 사용하여 원격 웹 서비스에 액세스

$.ajax({ 
    type: "GET", 
    url: "http://www.foo.jws/bar", 
    contentType: "application/json; charset=utf-8", 
    data: {}, 
    dataType: 'jsonp', 

    success: function(msg) { 
     console.log(msg); 
    }, 
    error: function() { 
     console.log('error'); 
    } 

}); 

I 받고 계속 오류가 "catch되지 않은 구문 에러 : 예기치 않은 식별자"입니다 내가 잘못 doning하고 무엇

?

편집 : WS에서 데이터는 XML

답변

2

현재 함수를 놓치고입니다.

error: function() { 
    console.log('error'); 
} 

또한 꼬리표를 사용하십시오.

+0

감사합니다. 그러나 텍스트 편집기에서 잘못 복사했습니다. 원래 게시물을 수정했습니다. 나는 그것이 단지 그랬 으면 좋겠어 ... – Slatiner

+0

당신이 보았던 마지막 쉼표는 "Uncaught SyntaxError : Unexpected identifier"오류의 원인 일 가능성이 큽니다. – Gromer

+0

@ user1575127 : 문제는 아마도 JSON 자체 일 것입니다. – Ryan

0

오류 콜백 코드가 잘못되었습니다. 이 코드를 여기에 입력했거나 복사/붙여 넣기했기 때문에 이것이 맞는지 확실하지 않습니다. 해야합니다 그런 다음 오류 콜백에 와서 인수로 전화로 무슨 일이 일어나고 있는지에 대한 몇 가지 정보를 얻을 수 있습니다

error: function (jqXHR, textStatus, errorThrown) { 
    console.log('error'); 
} 

.

편집 : 좋아요. 서버에서 XML을 다시 받으므로 dataType을 jsonp에서 xml로 변경해야합니다. dataType 옵션은 jQuery에 반환 할 데이터 유형을 알려줍니다.

$.ajax({ 
    type: "GET", 
    url: "http://www.foo.jws/bar", 
    contentType: "application/json; charset=utf-8", 
    data: {}, 
    dataType: 'xml', 
    success: function(msg) { 
     console.log(msg); 
    }, 
    error: function() { 
     console.log('error'); 
    } 
}); 
+0

오류 함수에서 매개 변수를 전달하면 더 많은 정보를 얻었습니다. textStatus = parsererror, errorThrown = 오류 : jQuery17104335657299961895_1344027946662가 호출되지 않았습니다. 그래도 계속 진행하는 방법이 확실하지 않습니다. – Slatiner

+0

ajax 호출이 원격 서버에 도착하는지조차 알고 있습니까? – Gromer

+0

잘, 콘솔 'Uncaught SyntaxError : Unexpected token <'오류의 출처가 원격 서버에서 왔으므로 호출이 정상적으로 처리된다고 추측합니다. – Slatiner

관련 문제