vb跨域访问ajax,ajax跨域访问的问题解决

在web项目中经常用到在ajax中进行跨域访问,比如在a域中访问b域中的服务,却实现不了。原因是:浏览器为了保证服务器数据的安全,对于这种请求,所给予的权限是较低的,通常只允许调用本域中的资源,除非目标服务器明确地告知它允许跨域调用。所以问题的解决需要在服务器端完成。

解决的方法为采用jsonp的形式,而很多时候,服务器端并没有按jsonp的信息进行编写。所以需要在服务器但处理代码允许跨域访问。

PHP中需要在Server.PHP中添加如下代码:

指定某域名(http://client.a.com)跨域访问,则只需在http://server.a.com/server.PHP文件头部添加如下代码:

header('Access-Control-Allow-Origin:http://client.a.com');

如果指定多个域名,需要在服务器端server.PHP的头部添加如下代码:

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';

$allow_origin = array(

'http://client1.runoob.com','http://client2.runoob.com'

);

if(in_array($origin,$allow_origin)){

header('Access-Control-Allow-Origin:'.$origin);

}

在asp.net中,

针对ASP.NET MVC和ASP.NET Web API两种项目类型,我做了一些研究,确定下面的方案是可行的。

针对ASP.NET MVC,只需要在web.config中添加如下的内容即可

针对ASP.NET Web API,除了上面这样的设置,还需要添加一个特殊的设计,就是为每个APIController添加一个OPTIONS的方法,但无需返回任何东西。

public string Options()

{

return null; // HTTP 200 response with empty body

}

总结

以上是编程之家为你收集整理的ajax跨域访问的问题解决全部内容,希望文章能够帮你解决ajax跨域访问的问题解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值