ajax跨域请求的解决方案

2019-03-02 01:08|来源: 网路

一直打算改造一下自己传统做网站的形式。


 

我是.Net程序员,含辛茹苦数年也没混出个什么名堂。

最近微信比较火, 由于现在大环境的影响和以前工作的总结和经验,我打算自己写一个数据,UI松耦合的比较新潮的模式,类似微信公众平台了也是。

先介绍下微信公众平台,平台上所有展示的动态数据,大多都是由http请求到json,然后解析结合UI产生Html从而展示在您的面前。尽管以前自己经常用xml+xsl=〉html来做。而今天主要是要做的几步:

1.接口站点,最好是用EF的强大功能这样就可以节省很多手动写接口的时间,当然现在还是手动写 感觉不会再爱了~希望博友们能推荐一些学习资源

2.web程序,所有页面均为html,所有的请求和响应都由http来完成和回馈,并且要加上Log记录。感觉这是个大工程,参照了下微信公众平台,平台光js就引用了十几二十个,还用了很多插件,高深的样子 投向崇拜的目光眼。

 

言归正传,ajax跨域请求的方案


 

提是接口程序是你自己发布的,也就是你可以在响应中添加header。当web站点请求接口站点的时候,js会提示跨域无法请求。

            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:9004");//我自己调试的站点

  你需要添加响应Header。 这时,你在ie下,会请求到你想要的数据, Chrome,Firfox,Maxthon等等浏览器还是请求文档失败,似乎是没指定请求的内容。

   HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");//再添加一个header

Success! 也没什么就是加了俩头

 


转自:http://www.cnblogs.com/akak123/p/3503934

相关问答

更多
  • 关于Ajax跨域请求(GET)或Ajax跨域提交(POST),只需要在 Fikker 转向管理中添加相关配置,即可由 Fikker 代理来完成 Ajax 跨域操作即可。伪静态化就是将用户访问的静态地址(html)转换成网站可识别的动态地址(php,asp,jsp等),这个通过向 Fikker 的转向管理中对应的转向规则即可完成。Url 转向还可以实现临时重定向功能,即利用 http 协议的302 状态,将用户的访问地址临时定向到另外一个访问地址。此功能强悍到可将用户请求转向到任何第三方网站,直接从第三方网站 ...
  • 如果你使用的是jquery,ajax是不支持跨域动态请求的,如果需要跨域请求,你可以尝试使用jsonp来实现。或者iframe,script加载方式也可以的。 如果解决了您的问题请采纳! 如果未解决请继续追问
  • 尽量让前端简化吧 在我看来最简单最直接的方案不过两种: 1. 配置目标服务器的CORS 2. 如果觉得CORS有学习成本,最简单的办法就是加一个“转发”的路由,注意这里不是“跳转”,因为跳转同样会遇到跨域问题。
  • 假设你有两个站点www.a.com和www.b.com 在a中用ajax向b发送请求,这就是跨域请求了。
  • 这个用JSONP,既然你用的是jQuery那就去看下文档里的 jQuery.getJSON 说明; 现在太晚了,就不写DEMO了吧。
  • 用CORS机制即可。A请求B,A头部带origin描述,然后B的响应头中会携带Access-Control-Allow-Origin头来描述是否允许该origin跨域访问。具体使用和代码,根据我上述的关键词你百度吧,我手机答的代码不好写。
  • 域A的页面JS需要访问域B下的链接获取数据,该方案在域A的服务器端建立一个Proxy程序(可能是ASP、servlet等任何服务端程序),域A的页面JS直接调用本域下的Proxy程序,proxy程序负责将请求发送给域B下的链接并获取到数据,最后再通过Proxy将数据返回给页面JS使用。
    经过的访问流程就是: 域A下JS --> 域A 下Proxy -- > 域B下的链接
    例子:
    第一步:
    域A: http://Jipiao.taobao.com/test.htm
    页面上java ...
  • 由 于前少写前端代码(哈哈合格程序员啊)近项目用json作系统间交互手段自伴随着众ajax请求随要解决 ajax跨域问题本篇讲述白遇跨域知道跨域问题知道跨域问题知道何解决再解决跨域问题找两种解决ajax 跨域问题全程 知跨域问题 起 复用减少重复发单独发用户权限管理系统共其系统获取认证与授权信息暂且称A系统;调用A系统B例B系统 用ajax调用A系统系统接口(数据格式json)特别困惑A系统访问相应url返json数据B系统使用 ajax请求同url则点反应都没像都没发反反复复改改久都没能解决于求救同事提醒 ...
  • 1. 启动IE,打开“Internet选项”的“安全”选项卡; 2. 点击“站点”将网址添加到本地站点或者信任中心 3. 再点击“自定义级别”,启用“通过域访问数据源”:
  • 您可以通过Access-Control-Allow-Origin响应标头控制接受AJAX请求的域。 如果缺少标头,则仅允许来自同一域的请求。 更新:如果您想要禁止启动AJAX请求,您可以尝试X-Content-Security-Policy: xhr-src 'none' ,但我无法想象任何有用的情况。 也许你可以更详细地解释一下情况? You can control which domains you accept AJAX requests from via the Access-Control-All ...