我有一个Rails应用程序,当我们单击应用程序中的链接时,我想打开新选项卡,并通过JQuery和AJAX通过基本身份验证加载另一个应用程序。新的应用程序已在其他服务器上公开。
我的宝石文件如下。
source 'https://rubygems.org'
ruby "2.3.3"
gem 'couchrest', '~> 1.2', '>= 1.2.1'
gem 'jquery-rails', '~> 4.0.5'
gem 'jquery-ui-rails', '~> 5.0.5'
gem 'bootstrap-sass'
gem 'sass-rails', '~> 5.0.6'
gem 'sprockets', '~> 3.6.3'
gem 'puma', '~> 3.4'
gem 'rails', '4.2.4'
gem 'couchrest_model', '~> 2.0.4'
gem 'tzinfo-data', '~> 1.2016.6', platforms: [:mingw, :mswin, :x64_mingw]
gem 'uglifier', '>= 1.3.0'
gem 'newrelic_rpm'
gem 'rake', '< 11.0'
gem 'pg', '~> 0.19.0'
#gem 'pg', '~> 0.18.4'
gem 'sendgrid-ruby', '~> 0.0.3'
gem 'twilio-ruby', '~> 4.2.1'
gem 'sassc'
gem 'open_uri_redirections'
group :development, :test, :ci do
gem 'byebug', '~> 8.2.1'
gem 'dotenv-rails', '~> 2.0.2'
gem 'rspec-rails', '~> 3.3.2'
gem 'timecop', '~> 0.8.0'
end
group :development do
gem 'web-console', '~> 2.0'
gem 'spring', '~> 1.5.0'
end
group :production do
gem 'rails_12factor', '~> 0.0.3'
end
我的JavaScript文件片段。
$.ajax
({
type: "POST",
url: "external_URL",
beforeSend : function(req) {
req.setRequestHeader('Authorization', 'Basic ' +
Base64.encode(unm + ':' + pwd));
},
success: function (){
alert('Thanks for your comment!');
},
error: function (jqXhr, textStatus, errorThrown){
debugger
alert('error!');
}
});
我遇到一些错误,
CORS策略已阻止从源“ null”以“ external_URL”访问XMLHttpRequest:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。
我通过启用/禁用CORS插件进行了相同的测试。