Ahoy!
저는 WCF 서비스를 사용하여 별도의 도메인 (따라서 JSONP 사용)의 웹 서버에서 아약스 호출을 처리하고 있습니다. 내가 서버에서 얻을
$.ajax({
dataType: 'jsonp',
type: 'GET',
url: 'http://localhost/s.svc/login?callback=?&l=en&e=foo&p=bar',
success: function (serverData) {
// [...]
},
error: function (jqXHR, textStatus, errorThrown) {
// [...]
}
});
응답은 다음과 같습니다 : 내 호출은 다음과 같습니다
?({"DataIsValid":true,"ErrorOccurred":false,"EmailAddressValidationMessage":"","PasswordValidationMessage":""});
그리고 그것을 읽을 때 jQuery를이 연속적으로 parsererror가 발생합니다.
위의 응답은 유효한 JSON처럼 보입니다. 설명서마다 "? callback =?"이라고 생각합니다. JSONP를 사용하여 $ .ajax 호출에 적합합니다. 내가 분명히
내 응답에 콜백 매개 변수를 어떻게 래핑합니까? $ 콜백을하면됩니다. '({'. $ jsonResponse. '})'; ? – PinoyStackOverflower
@PinoyStackOverflower - 돌아 오기까지 미안합니다. 콜백 매개 변수에는 프런트 엔드에있는 해당 콜백의 함수 이름이 포함되어 있습니다. jQuery는 jsonp 요청에서이를 포함합니다. 따라서 서버의 요청에서 'callback'매개 변수를 읽은 다음 클라이언트에 대한 응답으로'callbackParameterValue + '('+ JSON.stringify (serverData) + ')'와 같은 문자열을 반환합니다. 그런 다음 jQuery는 응답을 받아서 성공 함수에 전달합니다.이 함수는 위에서 언급 한 JSON으로 구문 분석해야합니다. – mpickell
안녕하세요 @mpickell, 아담 코드를 수정하여 제안 사항을 포함하는 전체 코드를 게시 해주십시오. 그게 더 도움이 될거야. 고맙습니다! – Bhargav