ajax로 데이터 송수신 진행 시, 에러
본문
$.ajax({
type: "POST",
url: "https://xxx.com", //데이터 전송받는 특정 주소
data: {
"name": f.name.value,
"hp": f.tel.value,
},
dataType: "json",
success: function(json) {
if (json) {
if (json.result == true) { // 응모 성공
alert("응모가 완료되었습니다.");
f.reset();
}
}
return;
}
});
이렇게 데이터를 ajax로 api post로 통신하여 데이터 송수신을 진행하려 합니다.
근데, 콘솔 확인해보니,
이런식으로 뜨는 상황인데 해결점이 있을까요?
!-->답변 5
외부도메인을 사용할경우 jsonp를 사용해야합니다.
저 주소가 외부 도메인이면 안되실겁니다.
cors 를 해결할려면, 요청하는 서버에서 cors 를 allow 해주는 추가 작업을 해주거나,
PHP에서 curl로 요청후 자기 도메인에서 json을 뿌려주는 형태(proxy)로 수정하셔야 합니다.
jsonp 도 callback 처리를 위해서 서버에서 별도 별도 처리가 필요합니다.
(해당 서버가 내 서버가 아닌 경우는 수정이 안됨)
따라서, 쉽게 구현하는 방법은 ajax요청을 로컬 서버로 하고, 로컬 서버에서 php curl로 원격 요청 결과를 다시 뿌려주는 형태입니다.
cors allow 처리 하는것도 웹서버의 영향을 받기 때문에, 예제보고 따라해도 동작 안되는 경우가 더 많습니다.
(머리털 빠짐.)
답변을 작성하시기 전에 로그인 해주세요.