没有CORS或JSONP的跨域请求

杰克·C

我知道以前曾问过这个问题,但是没有一个答案对我有用!我正在做一个学校项目,我想获取学校服务器上动态计划文件返回的HTML(为我的项目解析)。

我想要HTML的页面是:https : //telaris.wlu.ca/ssb_prod/bwckschd.p_disp_dyn_sched

我认为未为学校服务器文件启用CORS,并且我不知道它是否支持JSONP ...

如何设置跨域请求以从该页面获取HTML?

我试过了:

$.ajax({
    type:'POST',
    url: 'https://telaris.wlu.ca/ssb_prod/bwckschd.p_disp_dyn_sched',
    headers: {
      'Access-Control-Allow-Origin': '*'
   },
   contentType: 'text/html',
   crossDomain:true
}).done(function( data ) {

});

我得到错误:

XMLHttpRequest无法加载https://telaris.wlu.ca/ssb_prod/bwckschd.p_disp_dyn_sched请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问原始“空”。响应的HTTP状态码为501。

当我添加:

dataType:'jsonp'

我得到错误:

GET https://telaris.wlu.ca/ssb_prod/bwckschd.p_disp_dyn_sched?callback=jQuery21108736664191819727_1416964243449&_=1416964243450 400(错误请求)jquery.min.js:4send jquery.min.js:4n.extend.ajax jquery.min。 :4(匿名函数)

任何帮助是极大的赞赏!

jfriend00

除非站点明确允许跨源请求(通过CORS或JSONP),否则浏览器将强制执行“同源”访问控制。因此,如果您尝试访问的站点不允许跨源请求,那么您将无法仅使用浏览器直接从站点获取数据。浏览器正在实施目标站点请求的相同来源限制。

对于服务器而言,这根本不是安全的,因为围绕它有很多方法。它仅适用于来自浏览器的一种特定类型的访问(尽管一种特定类型的访问保护很有用)。

这意味着要将数据获取到浏览器中,您将需要使用某种第三方代理(浏览器除外)才能为您获取数据。两种最常见的方式是:

  1. 您自己的服务器。您请求自己的服务器从其他服务器获取一些内容。然后,您的服务器从另一台服务器获取数据,然后在浏览器中将其返回给您。

  2. 代理服务器。有一些预配置的代理服务器是为执行选项#1中描述的操作而构建的。您可以使用代理服务或安装自己的代理服务器来为您执行此操作,也可以将自己的Web服务器配置为具有此功能。

因此,您不能绕开协作浏览器的跨源限制。但是,您可以从服务器绕过它们。这是因为COR限制仅在浏览器中实现。它们不是服务器强制的限制。浏览器询问目标服务器正在使用哪些CORs策略,并仅在浏览器中实施它们。向该服务器发出请求的某些其他服务器不需要关注CORs策略。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有Cors的跨域请求

来自分类Dev

无需JSONP或CORS即可获取跨域XML文件

来自分类Dev

使用JSONP对JSON文件进行跨域Ajax请求

来自分类Dev

为什么没有CORS的Ajax GET请求被阻止,但允许JSONP?

来自分类Dev

带有凭证的跨域请求

来自分类Dev

Laravel-跨域请求-Barryvdh Laravel-Cors

来自分类Dev

跨域请求在onclick上被阻止,但在控制台上没有

来自分类Dev

跨域请求在onclick上被阻止,但在控制台上没有

来自分类Dev

跨域JSONP XML响应

来自分类Dev

我收到具有相同域的“跨域请求被阻止”

来自分类Dev

跨域请求被阻止

来自分类Dev

跨域请求被阻止:

来自分类Dev

什么是跨域请求

来自分类Dev

跨域请求被阻止

来自分类Dev

jQuery跨域请求

来自分类Dev

带有CORS的POST表单数据跨域

来自分类Dev

跨域CORS和图像

来自分类Dev

带有CORS过滤器的跨源请求

来自分类Dev

只有某些跨源请求使用 npm cors()

来自分类Dev

在跨域调用中使用JSONP

来自分类Dev

ASMX跨域调用(REST与JSONP)

来自分类Dev

跨域问题-jsonp无法正常工作

来自分类Dev

跨域Ajax(JSONP)回调问题

来自分类Dev

带有oEmbed的“跨域请求被阻止”吗?

来自分类Dev

带有PHP代理的跨域Ajax GET请求

来自分类Dev

具有标头身份验证的跨域请求

来自分类Dev

为什么带有跨域ajax()调用的jsonp无法正常工作?

来自分类Dev

跨域请求被阻止,但是所有请求都向源域发送

来自分类Dev

跨域请求被阻止,但是所有请求都向源域发送