【发布时间】:2016-11-20 17:42:53
【问题描述】:
我正在尝试进行跨域调用以获取一些 HTML,但我遇到了错误,请有人可以帮助我完成需要做的事情。下面是我得到的错误。
“错误”: 跨域请求被阻止:同源策略不允许读取位于http://test.com/webclient/widget/GetPromotionalBanner/%7bA301A86A-87CB-4F49-BF0E-A8EE355295BD%7d/Bright 的远程资源。 (原因:CORS 预检通道的 CORS 标头“Access-Control-Allow-Headers”中缺少令牌“access-control-allow-origin”)。
总是出现错误部分。
JAVASCRIPT 代码
(function ($) {
'use strict';
//==================================================
// DOCUMENT READY
//--------------------------------------------------
function mytest(ss){
console.log(ss);
}
$.ajax({
type: "Get",
url:"http://mytesturl.com",
cache: "false",
headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Request-Headers':'X-Custom-Header','Access-Control-Request-Method':"GET"},
crossDomain : true,
success: function(html) {
alert("Cross Domain Call Success");
console.log(html);
},
error:function(error){
alert("Error Response :", error);
console.log(error);
}
});
//--------------------------------------------------
// end DOCUMENT READY...
//==================================================
}(jQuery));
Ajax 调用的响应头
访问控制允许原始... * 缓存控制私有 内容编码 gzip 内容长度 886 内容类型文本/html;字符集=utf-8 日期 2016 年 7 月 18 日星期一 07:46:49 GMT 服务器 Microsoft-IIS/8.5 设置 Cookie ASP.NET_SessionId=pe1r0iiklzj5ch3fuanhzlun;路径=/; HttpOnly SC_ANALYTICS_GLOBAL_COOKIE=a874641e69b948898f6dcb596a987fbc|假; expires=2026 年 7 月 18 日星期六 07:46:49 GMT;路径=/; HttpOnly 改变接受编码 X-AspNet-版本 4.0.30319 X-AspNetMvc-版本 5.2 X-Powered-By ASP.NET
请求标头 接受 text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受编码 gzip,放气 Accept-Language en-US,en;q=0.5 访问控制请求他...访问控制允许来源 访问控制请求我... GET 缓存控制 max-age=0 连接保持活动 托管 test.com 原点空 用户代理 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
【问题讨论】:
-
基本上所有你需要知道的都在错误信息中。由于您可能无法控制服务器,因此您应该寻找一种不同的方式来托管该 html。
-
从服务器返回
jsonp数据。并使用dataType: "jsonp"调用 Ajax。
标签: javascript jquery html ajax