jsonp 요청의 서버 쪽과 클라이언트 쪽 모두를 만들려고하는데 작동하지 않는 것 같습니다. 수많은 가이드, 블로그 게시물 등을 둘러 보았지만 거의 모든 사람들이 클라이언트 측만 보여줍니다.JSONP - 액세스 제어 허용 - 원본 및 MIME 형식 오류
여기에 서버가이
jsonpCallback({"username":"meltingice","posts"1234});
내 문제처럼 하드 코드 값을 반환 지금
$.ajax({
dataType: 'application/json',
data: params,
jsonp: 'jsonpCallback',
url: settings.domain + '/httpext.dll?json_cc',
success: function (data) {
//determine the return status
},
error: function (response, status, error) {
//error handling
}
}); //end ajax
내 클라이언트 코드
의 내가 함께 작업 요청 및 응답을 얻을 수 있다는 것입니다. 현재 응답이 application/json을 반환하고 있으므로 요청을 변경하면 jsonp에 오류가 발생합니다리소스는 스크립트로 해석되지만 MIME 유형 application/json으로 전송됩니다. 잡히지 않은 ReferenceError : jsonpCallback이 정의되지 않았습니다.
먼저 알 수 있듯이 jsonpCallback이 정의되어 있습니다. 나는 응용 프로그램/JSON으로 데이터 유형을 변경하는 경우
지금, 나는 당신이, 그것은 URL에 callback=?
을 가하고되지 볼 수 있듯이이 오류
XMLHttpRequest cannot load http://myserver/httpext.dll?json_cc&sid=adsfhasjdkfhajksdghjk%3Basdhg&action=SALE&ccCard=&ccNum=&ccExMM=0&ccExYYYY=0&ccCVV2=&holdersName=&totalDue=0&dueDate=11%2F19%2F2010. Origin http://localhost:59905 is not allowed by Access-Control-Allow-Origin.
를 얻을. 다소 실망 스럽습니다.
jsonp를 사용하여 서버 측을 설정하려면 어떻게해야합니까? 응답 유형에는 무엇이 필요합니까? 내 클라이언트 측 코드가 데이터를 되돌릴 수 있도록 반환 된 데이터의 형식을 지정하려면 어떻게해야합니까?
기본 콜백 이름을 가져 오기 위해 코드를 변경했지만 다른 오류가 계속 발생합니다. 스크립트로 해석되었지만 MIME 유형 application/json으로 전송 된 리소스입니다. – Josh