javascript

java

python

c#

node.js

android

reactjs

c++

php

jquery

html

css

git

ruby-on-rails

.net

ios

sql

c

string

ruby

JavaScript-同一域上的CORS错误?

我现在遇到一个奇怪的CORS问题。

这是错误消息:

XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[...] 
Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin

两台服务器:

  • localhost:8666 / routeREST /:这是一个简单的Python Bottle服务器。
  • localhost:8080 /:运行我的Javascript应用程序的Python simpleHTTPserver。 这个应用程式正在上方的伺服器执行Ajax要求。

有什么问题的想法吗?

编辑:

而且...港口是问题所在。 感谢您的回答:)

如果有人也在使用Python瓶服务器,则可以按照本文中给出的答案解决CORS问题:Bottle Py:为jQuery AJAX请求启用CORS

trans by 2019-10-12T14:33:24Z

javascript-CORS和Access-Control-Allow-Header如何工作?

我试图使CORS请求从domain.com发送到a.domain.com。

我的JavaScript看起来像这样

$('#fileupload').fileupload({
  xhrFields: {
    withCredentials: true
  },
  dataType: 'json',
  url: $('#fileupload').data('path'),
  singleFileUploads: true,
  add: function(e, data){
    data.submit();
  }
});

最初,我看到OPTIONS路由被这样调用:

Request URL: https://a.domain.com/some/route
Request Method:OPTIONS
Status Code:200 OK

选项要求:

Access-Control-Request-Headers:origin, content-type, accept
Access-Control-Request-Method:POST
Host:a.domain.com
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home

选项响应

Access-Control-Allow-Credentials:true
Access-Control-Allow-Methods:POST
Access-Control-Allow-Origin:http://domain.com:3000
Connection:keep-alive
Content-Length:0
Content-Type:text/html;charset=utf-8

该请求返回200,如前所述。 在我的服务器上,我使用POST方法具有相同的路由,这就是在.domain.com之后得到的回报

Request URL:https://a.domain.com/some/route

发布请求

Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryjwr5Pk7WBcfzMdbO
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home

并且.domain.com请求被取消/失败。

我的问题是,我是否还需要在POST控制器上具有access-control-allow-origin?

我有一个用于授权的Cookie,其域为.domain.com,该Cookie在请求中发送一次,并且现在不发送。 知道为什么会这样吗?

trans by 2019-10-09T19:27:08Z

ajax-请求的资源上不存在“ Access-Control-Allow-Origin”标头-Angular

XMLHttpRequest cannot load http://mywebservice. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access.

当我尝试从代码内部运行Web服务时,出现此错误。 我尝试找到有关此问题的方法,并尝试了许多在网上找到的建议解决方案。 粘贴下面的代码。

<form name="LoginForm" ng-controller="LoginCtrl" ng-submit="init(username,password,country)">
    <label>Country</label><input type="text" ng-model="country"/><br/><br/>
    <label>UserName</label><input type="text" ng-model="username" /></br></br>
    <label>Password</label><input type="password" ng-model="password">
    </br>
    <button type="submit" >Login</button>
</form>

与控制器对应的js形式为:

app.controller('LoginController', ['$http', '$scope', function ($scope, $http) {
    $scope.login = function (credentials) {
    $http.get('http://mywebservice').success(function ( data ) {
        alert(data);
        });
    }
}]);

当我从URL栏中单击该Web服务时,它工作正常。 如何解决问题? 请帮助!

trans by 2019-09-27T18:24:24Z

javascript-在Firebase的Cloud Functions中启用CORS

我目前正在学习如何为Firebase使用新的Cloud Functions,而我遇到的问题是我无法访问通过AJAX请求编写的函数。 我收到“没有'Access-Control-Allow-Origin'错误”。 这是我编写的函数的示例:

exports.test = functions.https.onRequest((request, response) => {
  response.status(500).send({test: 'Testing functions'});
})

该函数位于以下网址中:[https://us-central1-fba-shipper-140ae.cloudfunctions.net/test]

Firebase文档建议在函数内添加CORS中间件,我已经尝试过了,但是对我不起作用:[https://firebase.google.com/docs/functions/http-events]

这是我的方法:

var cors = require('cors');    

exports.test = functions.https.onRequest((request, response) => {
   cors(request, response, () => {
     response.status(500).send({test: 'Testing functions'});
   })
})

我究竟做错了什么? 我将不胜感激。

更新:

道格·史蒂文森(Doug Stevenson)的回答很有帮助。 添加({origin:true})解决了该问题,我还不得不将response.status(500)更改为response.status(200),这是我一开始完全没想到的。

trans by 2019-09-26T04:56:13Z

如何将CORS预检缓存应用于整个域

我正在构建一个利用CORS的REST应用程序。 每个REST调用都是不同的,我发现获取预检OPTIONS调用会产生大量开销。 有没有一种方法可以缓存和应用预检OPTIONS结果,以便对同一域的任何后续调用都可以使用缓存的响应?

trans by 2019-09-25T06:49:59Z

cors-如何在我的Dev Tools N上过滤(隐藏)飞行前请求

通常会显示两个呼叫,飞行前和实际请求。 有时这很烦人。 有没有办法隐藏飞行前的要求?

还是有一个插件可以根据标题过滤某些请求?

trans by 2019-09-19T23:48:20Z

javascript - 请求的资源上没有“Access-Control-Allow-Origin”标头

我正在尝试获取新闻网站的Feed。 我以为我会使用google的feed API将feedburner Feed转换为json。 以下网址将以json格式从Feed返回10个帖子。[http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http://feeds.feedburner.com/mathrubhumi]

我使用以下代码来获取上面的url的内容

$.ajax({
  type: "GET",
  dataType: "jsonp",
  url: "http://ajax.googleapis.com/ajax/services/feed/load",
  data: {
    "v": "1.0",
    "num": "10",
    "q": "http://feeds.feedburner.com/mathrubhumi"
  },
  success: function(result) {
    //.....
  }
});

但它没有工作,我收到以下错误

XMLHttpRequest无法加载  [http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http%3A%2F%2Ffeeds.feedburner.com%2Fmathrubhumi。]   请求中不存在“Access-Control-Allow-Origin”标头  资源。 因此不允许Origin'[http:// localhost']访问。

我该如何解决?

trans by 2019-09-13T13:00:05Z

在Firefox中禁用跨域Web安全性

在Firefox中,我如何在Chrome中执行相当于--disable-web-security的操作。 这已经发布了很多,但从来没有一个真正的答案。 大多数是附加组件的链接(其中一些在最新的Firefox中不起作用或根本不起作用)和“你只需要在服务器上启用支持”。

  1. 这是暂时的测试。 我知道安全隐患。
  2. 我无法打开服务器上的CORS,特别是我永远不能允许localhost或类似的。
  3. 标志,设置或其他东西比插件要好很多。 我也试过了:[http://www-jo.se/f.pfleger/forcecors,]但是因为我的请求完全是空的,所以一定是错的,但Chrome中的相同请求可以很好地回复。

同样,这仅用于在推送到prod之前进行测试,然后,这将是允许的域。

trans by 2019-09-12T21:27:45Z

c# - 具有多个域的Access-control-allow-origin

在我的web.config中,我想为access-control-allow-origin指令指定多个域。 我不想用*。 我试过这个语法:

<add name="Access-Control-Allow-Origin" value="http://localhost:1506, http://localhost:1502" />

这个

<add name="Access-Control-Allow-Origin" value="http://localhost:1506 http://localhost:1502" />

this one

<add name="Access-Control-Allow-Origin" value="http://localhost:1506; http://localhost:1502" />

还有这个

<add name="Access-Control-Allow-Origin" value="http://localhost:1506" />
<add name="Access-Control-Allow-Origin" value="http://localhost:1502" />

但它们都不起作用。什么是正确的语法?

trans by 2019-09-12T17:12:18Z

javascript - CORS - 如何“预检”一个httprequest?

我正在尝试向WCF服务(我拥有)进行跨域HTTP请求。 我已经阅读了几种处理跨域脚本限制的技术。 因为我的服务必须同时兼顾GET和POST请求,所以我无法实现一些动态脚本标记,其src是GET请求的URL。 由于我可以自由地在服务器上进行更改,因此我开始尝试实现一种解决方法,该方法涉及配置服务器响应以包含“Access-Control-Allow-Origin”标头和带有OPTIONS请求的“预检”请求。 我从这篇文章中得到了一个想法:让CORS正常工作

在服务器端,我的Web方法是在HTTP响应中添加“Access-Control-Allow-Origin:*”。 我现在可以看到响应包含此标题。 我的问题是:我如何“预检”一个请求(OPTIONS)? 我正在使用jQuery.getJSON来发出GET请求,但是浏览器会立即取消臭名昭着的请求:

Access-Control-Allow-Origin不允许Origin [http:// localhost]

有人熟悉这种CORS技术吗? 需要在客户端进行哪些更改以预检我的请求?

谢谢!

trans by 2019-09-09T04:13:30Z

asp.net web api - “Access-Control-Allow-Origin”标头包含多个值

我在客户端使用AngularJS $ http访问服务器端ASP.NET Web API应用程序的端点。 由于客户端作为服务器托管在不同的域上,因此我需要CORS。 它适用于$ http.post(url,data)。 但是只要我通过$ http.get(url)对用户进行身份验证并发出请求,我就会收到消息

The 'Access-Control-Allow-Origin' header contains multiple values 'http://127.0.0.1:9000, http://127.0.0.1:9000', but only one is allowed. Origin 'http://127.0.0.1:9000' is therefore not allowed access.

Fiddler告诉我,在成功的选项请求之后,get请求中确实有两个头条目。 我做错什么地方在哪里?

更新

当我使用jQuery $ .get而不是$ http.get时,会出现相同的错误消息。 所以AngularJS似乎没有问题。 但哪里错了?

trans by 2019-09-09T01:10:03Z

AngularJS $ http,CORS和http身份验证

因为在AngularJS中使用CORS和http认证可能很棘手,所以我编辑了这个问题,分享了一个学到的课程。 首先,我要感谢igorzg。 他的回答对我很有帮助。 方案如下:您希望使用AngularJS $ http服务将POST请求发送到其他域。 获取AngularJS和服务器设置时需要注意几个棘手的事情。

第一:在您的应用程序配置中,您必须允许跨域调用

/**
 *  Cors usage example. 
 *  @author Georgi Naumov
 *  gonaumov@gmail.com for contacts and 
 *  suggestions. 
 **/ 
app.config(function($httpProvider) {
    //Enable cross domain calls
    $httpProvider.defaults.useXDomain = true;
});

第二:您必须指定withCredentials:true以及用户名和密码请求。

 /**
  *  Cors usage example. 
  *  @author Georgi Naumov
  *  gonaumov@gmail.com for contacts and 
  *  suggestions. 
  **/ 
   $http({
        url: 'url of remote service',
        method: "POST",
        data: JSON.stringify(requestData),
        withCredentials: true,
        headers: {
            'Authorization': 'Basic bashe64usename:password'
        }
    });

Тhird:  服务器设置。 你必须提供:

/**
 *  Cors usage example. 
 *  @author Georgi Naumov
 *  gonaumov@gmail.com for contacts and 
 *  suggestions. 
 **/ 
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://url.com:8080");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");

对于每个请求。 当您收到OPTION时,您必须通过:

/**
 *  Cors usage example. 
 *  @author Georgi Naumov
 *  gonaumov@gmail.com for contacts and 
 *  suggestions. 
 **/ 
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
   header( "HTTP/1.1 200 OK" );
   exit();
}

HTTP身份验证和其他一切都在此之后。

这是使用php的服务器端的完整示例。

<?php
/**
 *  Cors usage example. 
 *  @author Georgi Naumov
 *  gonaumov@gmail.com for contacts and 
 *  suggestions. 
 **/ 
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://url:8080");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");

if($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
   header( "HTTP/1.1 200 OK" );
   exit();
}


$realm = 'Restricted area';

$password = 'somepassword';

$users = array('someusername' => $password);


if (isset($_SERVER['PHP_AUTH_USER']) == false ||  isset($_SERVER['PHP_AUTH_PW']) == false) {
    header('WWW-Authenticate: Basic realm="My Realm"');

    die('Not authorised');
}

if (isset($users[$_SERVER['PHP_AUTH_USER']]) && $users[$_SERVER['PHP_AUTH_USER']] == $password) 
{
    header( "HTTP/1.1 200 OK" );
    echo 'You are logged in!' ;
    exit();
}
?>

我的博客上有一篇关于这个问题的文章可以在这里看到。

trans by 2019-09-02T08:27:54Z

javascript - 使用CORS Origin头与CSRF令牌进行CSRF保护

此问题仅针对防止跨站点请求伪造攻击。

具体来说:通过Origin头(CORS)保护和通过CSRF令牌保护一样好吗?

例:

  • Alice使用她的浏览器登录(使用cookie)“[https://example.com”。]我认为她使用的是现代浏览器。
  • Alice访问“[https://evil.com”,]并且evil.com的客户端代码对“[https://example.com”](经典CSRF场景)执行某种请求。

所以:

  • 如果我们不检查Origin头(服务器端),并且没有CSRF令牌,我们就有一个CSRF安全漏洞。
  • 如果我们检查一个CSRF令牌,我们是安全的(但它有点乏味)。
  • 如果我们检查Origin标头,应该阻止来自evil.com的客户端代码的请求,就像使用CSRF令牌时一样 - 除非,如果有可能的话,evil.com的代码可以设置Origin标头。

我知道,如果我们相信W3C规范在所有现代浏览器中都能正确实现(我们可以吗?),XHR就不可能实现这一点(参见例如跨源资源共享的安全性),至少不是这样。

但是其他类型的请求呢 - 例如 表格提交? 加载脚本/ img / ...标签? 或者页面可以用来(合法地)创建请求的任何其他方式? 或者也许是一些已知的JS黑客攻击?

注意:我不是在谈论

  • 原生应用,
  • 操纵浏览器,
  • example.com页面中的跨站点脚本错误,
  • ...
trans by 2019-09-01T11:49:22Z

ruby on rails - 通过CORS策略允许任何内容

我如何禁用角色? 由于某种原因,我疯狂地梳理了允许的起源和标题但我的ajax请求仍然抱怨我的CORS政策不允许来源....

我的应用控制器:

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :current_user, :cors_preflight_check
  after_filter :cors_set_access_control_headers

# For all responses in this controller, return the CORS access control headers.

def cors_set_access_control_headers
  headers['Access-Control-Allow-Origin'] = '*'
  headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
  headers['Access-Control-Allow-Headers'] = '*'
  headers['Access-Control-Max-Age'] = "1728000"
end

# If this is a preflight OPTIONS request, then short-circuit the
# request, return only the necessary headers and return an empty
# text/plain.

def cors_preflight_check
  if request.method == :options
    headers['Access-Control-Allow-Origin'] = '*'
    headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
    headers['Access-Control-Allow-Headers'] = '*'
    headers['Access-Control-Max-Age'] = '1728000'
    render :text => '', :content_type => 'text/plain'
  end
end
  private
  # get the user currently logged in
  def current_user
    @current_user ||= User.find(session[:user_id]) if session[:user_id]
  end
  helper_method :current_user

end

路线:

  match "*all" => "application#cors_preflight_check", :constraints => { :method => "OPTIONS" }
  match "/alert" => "alerts#create"
  match "/alerts" => "alerts#get"
  match "/login" => "sessions#create"
  match "/logout" => "sessions#destroy"
  match "/register" => "users#create"

编辑 - -

我也尝试过:

   config.middleware.use Rack::Cors do
      allow do
        origins '*'
        resource '*', 
            :headers => :any, 
            :methods => [:get, :post, :delete, :put, :options]
      end
    end

在application.rb中

- 编辑2 ---

问题是我认为Chrome扩展程序可能不支持CORS。 如何绕过CORS获取信息? 我该如何回应飞行前检查?

trans by 2019-08-28T03:52:31Z

javascript - jQuery xml错误'No'Access-Control-Allow-Origin'标头出现在请求的资源上。

我正在处理我的这个个人项目只是为了好玩,我想阅读一个xml文件,该文件位于[http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml]并解析 xml并使用它来转换货币之间的值。

到目前为止,我已经提出了下面的代码,这是非常基本的,以便读取xml,但我得到以下错误。

XMLHttpRequest无法加载****。 No&#39; Access-Control-Allow-Origin&#39;   标头出现在请求的资源上。 起源   因此,不允许访问[http://run.jsbin.com&#39;]。

$(document).ready( 
    function() {     
        $.ajax({          
            type:  'GET',
            url:   'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml',
            dataType: 'xml',              
            success: function(xml){
                alert('aaa');
            }
         });
    }
);

我没有看到我的代码有任何问题,所以我希望有人可以指出我的代码错误以及如何解决它。

trans by 2019-08-22T04:50:30Z

如何在node.js上的express.js框架中启用跨源资源共享(CORS)

我试图在node.js中构建一个支持跨域脚本的Web服务器,同时仍然提供来自公共目录的静态文件。 我使用的是express.js,我不确定如何允许跨域脚本(Access-Control-Allow-Origin: *)。

我看到这篇文章,我觉得没有用。

var express = require('express')
  , app = express.createServer();

app.get('/', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    next();
});

app.configure(function () {
    app.use(express.methodOverride());
    app.use(express.bodyParser());
    app.use(app.router);
});

app.configure('development', function () {

    app.use(express.static(__dirname + '/public'));
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.configure('production', function () {


    var oneYear = 31557600000;
    //    app.use(express.static(__dirname + '/public', { maxAge: oneYear }));
    app.use(express.static(__dirname + '/public'));
    app.use(express.errorHandler());
});

app.listen(8888);
console.log('express running at http://localhost:%d', 8888);
trans by 2019-08-20T19:18:41Z

ajax - 设置Access-Control-Allow-Origin有哪些安全隐患?

我最近不得不将Access-Control-Allow-Origin设置为*以便能够进行跨子域ajax调用。
现在我无法帮助,但我觉得我的环境存在安全风险。
如果我做错了,请帮助我。

trans by 2019-08-10T18:28:23Z

cors - 如何添加Access-Control-Allow-Origin头

我正在设计一个网站(例如mywebsite.com),这个网站从另一个网站(比如anothersite.com)加载font-face字体。 我在Firefox中遇到字体字体加载问题,我在这个博客上看到:

Firefox(支持@ font-face   来自v3.5)不允许跨域   默认情况下的字体 这意味着字体   必须从同一个域提供   (和子域),除非你可以添加   “Access-Control-Allow-Origin”标题   到字体。

如何将Access-Control-Allow-Origin标头设置为字体?

trans by 2019-08-07T14:02:21Z

jquery - 错误:请求标头字段Access-Control-Allow-Headers不允许Content-Type

我使用vS2012创建了一个mvc4 web api项目。 我使用以下教程来解决跨源资源共享,“[http://blogs.msdn.com/b/carlosfigueira/archive/2012/07/02/cors-support-in-asp-net-web-api -rc-version.aspx“。]它运行成功,我成功地将数据从客户端发布到服务器。

在我的项目中实现Autherization之后,我使用以下教程来实现OAuth2,“[http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0- for-mvc-two-legged-implementation.aspx“。]这有助于我在客户端获取RequestToken。

但是当我从客户端发布数据时,我收到了错误,      “XMLHttpRequest无法加载[http://。]请求标头字段Access-Control-Allow-Headers不允许使用Content-Type。”

我的客户端代码看起来像,

 function PostLogin() {
    var Emp = {};            
    Emp.UserName = $("#txtUserName").val();             
    var pass = $("#txtPassword").val();
    var hash = $.sha1(RequestToken + pass);
            $('#txtPassword').val(hash);
    Emp.Password= hash;
    Emp.RequestToken=RequestToken;
    var createurl = "http://localhost:54/api/Login";
    $.ajax({
        type: "POST",
        url: createurl,
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(Emp),
        statusCode: {
                200: function () {
                $("#txtmsg").val("done");                       
                toastr.success('Success.', '');                         
                }
                },
        error:
            function (res) {                        
                toastr.error('Error.', 'sorry either your username of password was incorrect.');            
                }
        });
    };

我的api控制器看起来像,

    [AllowAnonymous]
    [HttpPost]
    public LoginModelOAuth PostLogin([FromBody]LoginModelOAuth model)
    {
        var accessResponse = OAuthServiceBase.Instance.AccessToken(model.RequestToken, "User", model.Username, model.Password, model.RememberMe);

        if (!accessResponse.Success)
        {
            OAuthServiceBase.Instance.UnauthorizeToken(model.RequestToken);
            var requestResponse = OAuthServiceBase.Instance.RequestToken();

            model.ErrorMessage = "Invalid Credentials";

            return model;
        }
        else
        {
            // to do return accessResponse

            return model;
        }

    } 

我的网络配置文件看起来像,

 <configuration>
   <configSections>   
   <section name="entityFramework"    type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  <section name="oauth" type="MillionNodes.Configuration.OAuthSection, MillionNodes, Version=1.0.0.0, Culture=neutral"/>
  <sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core">
  <section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" />
  <section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true" />
</sectionGroup>
</configSections>
<oauth defaultProvider="DemoProvider" defaultService="DemoService">
<providers>
  <add name="DemoProvider" type="MillionNodes.OAuth.DemoProvider, MillionNodes" />
</providers>
<services>
  <add name="DemoService" type="MillionNodes.OAuth.DemoService, MillionNodes" />
</services>
</oauth>
<system.web>
 <httpModules>
   <add name="OAuthAuthentication" type="MillionNodes.Module.OAuthAuthenticationModule, MillionNodes, Version=1.0.0.0, Culture=neutral"/>
  </httpModules>
 <compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
<pages>
  <namespaces>
    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />
  </namespaces>
</pages>
</system.web>
<system.webServer>
 <validation validateIntegratedModeConfiguration="false" />      
  <modules>
      <add name="OAuthAuthentication"     type="MillionNodes.Module.OAuthAuthenticationModule, MillionNodes, Version=1.0.0.0, Culture=neutral" preCondition="" />
 </modules>
 <httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders>
  </httpProtocol>
</system.webServer>
<dotNetOpenAuth>
<messaging>
  <untrustedWebRequest>
    <whitelistHosts>
      <!-- Uncomment to enable communication with localhost (should generally not activate in production!) -->
      <!--<add name="localhost" />-->
    </whitelistHosts>
  </untrustedWebRequest>
</messaging>
<!-- Allow DotNetOpenAuth to publish usage statistics to library authors to improve the library. -->
<reporting enabled="true" />

trans by 2019-08-04T12:54:28Z

jquery - 在http pag上使用https的Ajax

我的网站使用http和https协议; 它不会影响内容。 我的网站使用jQuery ajax调用,它也会填充页面上的某些区域。

现在,我想通过https进行所有ajax调用。 (请不要问我为什么:))当我在使用https协议的页面上时,ajax请求正在运行。当我在使用http协议的页面上时,我收到一个javascript错误:访问受限制的URI被拒绝

我知道这是一个跨域问题(事实上,它是一个交叉协议问题),我知道我应该在ajax调用中使用与当前页面相同的协议。

不过,我希望所有ajax调用都是https,并在通过http提供的页面上调用它们。有没有解决方法来实现这个(一些json /代理解决方案?),还是根本不可能?

trans by 2019-08-02T01:14:51Z

1 2 3 下一页 共3页