当前位置: 首页 > 面试题库 >

JavaScript跨域调用:从HTTP到HTTPS的调用

公孙琛
2023-03-14
问题内容

我需要对同一域的安全(HTTPS)URL进行异步调用。

当前,该页面正在使用常规HTTP(非安全)。

换句话说:这是使用HTTPS在同一域中调用URL。

在将此调用切换到HTTPS之前,我结束了实现服务器端代理以允许跨域AJAX调用,但是现在我面临着相同的源策略,因为HTTP和HTTPS也被认为是不同的源。因此,该代理不可用。

简介:在这种情况下,如何进行跨域,异步POST请求?

各种说明:

  • 我无法接受任何建议使用JSONP的答案。异步调用必须使用POST动词。
  • 我正在使用最新版本的jQuery。答案可以基于该库,也可以基于任何其他解决此问题的方法。
  • 通过HTTPS访问整个页面不是解决方案。
  • 服务器平台是Microsoft .NET 4.0(ASP.NET 4.0)。
  • UDPATE :不能选择CORS。现代浏览器对此没有广泛的支持。

问题答案:

首先,我对@missingo和@PiTheNumber的两个问题都进行了+1。

花了很多小时后,我得出的结论是,我打算将整个页面切换到HTTPS。那是因为:

  • 大多数现代浏览器都支持CORS,但是从第8版开始的Internet Explorer具有专有的实现(XDomainRequest对象),该实现可能在某些计算机中被禁用(默认情况下,我的跨域请求在Internet安全区域中被禁用)。

    • Opera不支持CORS。第12版将支持该版本,但这不是一个选择,因为用户应首先采用此新版本,并且不会在2天之内。

    • 我需要进行跨域请求,因为Web客户端应用程序必须请求位于另一个域中的RESTful服务层。没门。

    • 将所有内容切换到HTTPS可使服务层代理方法再次起作用(这是预期的行为)。

无论如何,因为这两个答案都对我得出这个结论大有帮助。

更新

@Sam添加了可能对任何人都有趣的评论。关于如何在Internet Explorer
8和9中获得CORS(请参阅#7):http :
//blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-
restrictions-limitations-and-workarounds。
aspx




 类似资料:
  • 问题内容: 我了解AJAX跨域策略。因此,我不能仅仅通过ajax HTTP请求调用“ http://www.google.com ”,并将结果显示在我的网站上。 我使用dataType“ jsonp”进行了尝试,这实际上可以工作,但是出现语法错误(显然是因为接收到的数据不是JSON格式的) 还有其他可能性可以从外部域接收/显示数据吗?iFrame是否遵循相同的政策? 问题答案: 使用AJAX获取跨

  • 问题内容: 我了解AJAX跨域策略。因此,我不能仅通过ajax HTTP请求调用“ http://www.google.com ”,并将结果显示在我的网站上。 我使用dataType“ jsonp”进行了尝试,这实际上可以工作,但是出现语法错误(显然是因为接收到的数据不是JSON格式的) 还有其他可能性可以从外部域接收/显示数据吗?iFrame是否遵循相同的政策? 问题答案: 使用AJAX获取跨域

  • 本文向大家介绍JQuery Ajax跨域调用和非跨域调用问题实例分析,包括了JQuery Ajax跨域调用和非跨域调用问题实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery Ajax跨域调用和非跨域调用问题。分享给大家供大家参考,具体如下: 现在的互联网技术发展的越来越快,我们在开发过程中遇到的问题也越来越多。比如当我们需要进行跨域访问数据的时候该如何进行开发?本篇博文就

  • 问题内容: 我期待创建一个JavaScript API,其中包含facebook Javascript API提供的大多数功能。 我可以将脚本标签嵌入到远程网站中,并且需要执行从该页面到我的服务器的所有ajax调用。我正在创建一个体系结构,需要有人帮助他/她的出色思想来完成它。 问题答案: 看看https://github.com/facebook/facebook-js- sdk/blob/de

  • 问题内容: Firefox和Internet Explorer都具有用户可以启用禁止的跨域调用的设置。 Safari和/或Chrome中是否有类似的设置或选项? 问题答案: 不确定野生动物园,但Chrome为此提供了命令行开关: 您可以在此处查看chrome命令行选项的完整列表(截至发布时!)。

  • 问题内容: $(document).ready(function(){$ .ajax({url:“ http://gdata.youtube.com/feeds/api/users/zdf/playlists?v=2 ”,键入:“ GET”,成功:function(msg){console.log(msg);}});}); 我收到此错误“ XMLHttpRequest无法加载http://gdat