[RUBY-ON-RAILS] CORS - JSONP없이 도메인 간 AJAX 기원 서버를 허용함으로써
RUBY-ON-RAILSCORS - JSONP없이 도메인 간 AJAX 기원 서버를 허용함으로써
내 백엔드 API에 크로스 도메인 호출을 시도하는 EmberJS 하나, 동일한 서버에 두 개의 별도의 응용 프로그램을 가지고있다.
나는 특정 원점에서 크로스 도메인 요청을 허용하도록 내 백엔드 API를 설정합니다. 그러나, 이러한 셋업과 JSONP를 사용하지 않도록하는 방법이 있나요? 그들도 전송하기 전에 $ 아약스는 크로스 도메인 요청을 차단하고 있습니다. 그렇지 않다면, 내가 JS 프런트 엔드 소스의 요청을 수락하기 위해 구현 한 서버 측 CORS의 포인트는 무엇인가?
편집하다
AJAX 요청 :
$.ajax({
url: "api.lvh.me:3000/accounts/login",
data: cred,
type: "POST",
xhrFields: {
withCredentials: true
},
success: function(response){
alert('succeeded!');
console.log(response);
alert(response);
},
failure: function(message){
alert("failed");
console.log(message);
alert(message);
}
});
해결법
-
==============================
1.당신이 CORS를 사용하도록 설정하면 JSONP를 사용할 필요가 없습니다.
당신이 CORS를 사용하도록 설정하면 JSONP를 사용할 필요가 없습니다.
Access-Control-Allow-Origin: http://www.example.com
이 헤더는 응답으로 설정되어있는 경우는 동일한 도메인과 같은 경우로, 다음 일반 XMLHttpRequest의 응답에 액세스 할 수있을 것이다. 이 헤더가 올바르게 설정되어 있는지 확인합니다.
나는 왜 jQuery를 사용하면 일반 자바 스크립트에서 JQuery와 CORS POST 요청의 작품을 사용하는 경우이 링크가 도움이 될 수 있기를 바랍니다,하지만?
최신 정보: 예
var xmlhttp= new XMLHttpRequest(); var url="https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control"; xmlhttp.open("GET",url,false); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xmlhttp.send();
모든 도메인이 시도, 당신은 응답을 얻을 것이다.
업데이트 솔루션 :
"HTTP : //"없이 요청 URL 붙이는, 문제의 원인에 "http : //"문제를 해결
-
==============================
2.당신은 모든 URL을 허용하도록 설정하기 위해, 레일 5 랙 고르를 사용할 수 있습니다.
당신은 모든 URL을 허용하도록 설정하기 위해, 레일 5 랙 고르를 사용할 수 있습니다.
Rails.application.config.middleware.insert_before 0, Rack::Cors do allow do origins '*' resource '*', headers: :any, methods: [ :get, :post, :put, :patch, :delete, :options, :head ] end end
-
==============================
3.크로스 도메인 환경에서 I는 크로스 도메인 CORS를 지원하지 않는 많은 무료 호스트 becase JSONP 대신 CORS를 사용하는 것이 좋습니다. 그것은 예를 작업에 자세히 설명되어 있습니다 - 모두 JSONP와 CORS.
크로스 도메인 환경에서 I는 크로스 도메인 CORS를 지원하지 않는 많은 무료 호스트 becase JSONP 대신 CORS를 사용하는 것이 좋습니다. 그것은 예를 작업에 자세히 설명되어 있습니다 - 모두 JSONP와 CORS.
from https://stackoverflow.com/questions/17318426/cors-cross-domain-ajax-without-jsonp-by-allowing-origin-on-server by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 왜 들어오는 요청을 일으키는 내 CORS 구성은 필터 처리되지 않는 이유는 무엇입니까? 어떻게 그것이 단지 특정 기원의 요청을 수락 할 수 있습니까? (0) | 2020.02.21 |
---|---|
[RUBY-ON-RAILS] 동적 테이블 생성 (0) | 2020.02.20 |
[RUBY-ON-RAILS] 어떻게이 인스턴스를 레일 로컬 포트가 실행되고 찾는 방법은? (0) | 2020.02.20 |
[RUBY-ON-RAILS] 레일 모범 사례에 루비 - 작은 컨트롤러 대 빅 컨트롤러 (0) | 2020.02.20 |
[RUBY-ON-RAILS] 루비 레일에 : form_for의 인수로 상징 (0) | 2020.02.20 |