cross-Origin 때문에 jQuery ajax 요청이 차단되었습니다.
ajax를 통해 원격 url에서 콘텐츠를 가져오는 방법?
cross-Origin 때문에 jQuery ajax 요청이 차단되었습니다.
콘솔 로그
오리진 간 요청 차단:동일한 오리진 정책으로 인해 http://www.dailymotion.com/embed/video/x28j5hv 에서 원격 리소스를 읽을 수 없습니다(이유: CORS 헤더 'Access-Control-Allow-Origin' 누락).
오리진 간 요청 차단:동일한 오리진 정책으로 인해 http://www.dailymotion.com/embed/video/x28j5hv 에서 원격 리소스를 읽을 수 없습니다(이유: CORS 요청 실패).
코드
$.ajax({
url: "http://www.dailymotion.com/embed/video/x28j5hv",
type:'GET',
contentType: "html",
crossDomain:true,
success: function(data){
//$('#content').html($(data).html());
var src = $(data).html();
alert(src);
return false;
}
사용해 봅니다.JSONP
아약스의 요청에 따라동일 오리진 정책을 무시합니다.
http://learn.jquery.com/ajax/working-with-jsonp/
예시해보기
$.ajax({
url: "https://api.dailymotion.com/video/x28j5hv?fields=title",
dataType: "jsonp",
success: function( response ) {
console.log( response ); // server response
}
});
고객측에서 할 수 있는 일은 없습니다.crossDomain 호출을 직접 활성화할 수 없습니다. 이를 실행하려면 소스(dailymotion.com )에서 CORS를 활성화해야 합니다.
당신이 실제로 할 수 있는 유일한 것은 당신을 위해 이것을 해주는 서버측 프록시 스크립트를 만드는 것입니다.프로젝트에서 서버측 스크립트를 사용하고 있습니까?PHP, 파이썬, ASP.NET등?그렇다면 HTTP 호출을 dailymotion으로 실행하고 응답을 반환하는 서버측 "proxy" 스크립트를 작성할 수 있습니다.그리고 나서 당신은 당신의 자바스크립트 코드에서 그 스크립트를 호출합니다. 그 서버측 스크립트는 당신의 스크립트 코드와 같은 도메인에 있기 때문에 CORS는 문제가 되지 않습니다.
교차 도메인에 대해 cURL 요청으로 시도해 보십시오.
타사 API를 통해 작업하거나 CROSS-DOMAIN을 통해 데이터를 얻는 경우에는 항상 보다 안전한 cURL 스크립트(server side)를 사용하는 것이 좋습니다.
저는 항상 cURL 스크립트를 선호합니다.
브라우저의 파일 경로를 변경하여 이 문제를 해결했습니다.
- 대신:
c/XAMPP/htdocs/myfile.html
- 다음과 같이 적었습니다.
localhost/myfile.html
원본이 액세스할 수 있는 서버인 경우, 특정 폴더(및 하위 폴더)에 대한 교차 도메인 액세스를 열 수 있습니다..htaccess
파일이 적절한 폴더에 있습니다.
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
$.ajax({
url: "https://api.dailymotion.com/video/x28j5hv?fields=title",
type: "POST",
dataType: "json",
crossDomain: true,
format: "json",
success:function(json){
console.log('message: ' + "success"+ JSON.stringify(json));
},
error:function(error){
console.log('message Error' + JSON.stringify(error));
}
});
/* <?php header('Access-Control-Allow-Origin: *'); ?> */
언급URL : https://stackoverflow.com/questions/31513450/jquery-ajax-request-being-block-because-cross-origin
'programing' 카테고리의 다른 글
OpenSSL을 사용하여 RSA 개인 키를 생성하는 방법은 무엇입니까? (0) | 2023.10.04 |
---|---|
마리아에서 달력 약속 처리 방법DB (0) | 2023.10.04 |
mysql 테이블 이름에서 (-) 대시 사용 (0) | 2023.10.04 |
PM 상위 ID(vBulletin 데이터베이스)로 그룹화할 때 MySQL 쿼리 속도가 느림 (0) | 2023.10.04 |
ASP.NET 핵심 데이터 암호화/보호 (0) | 2023.10.04 |