博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web api 初体验 解决js调用跨域问题
阅读量:6077 次
发布时间:2019-06-20

本文共 1411 字,大约阅读时间需要 4 分钟。

跨域界定

常见跨域:

同IP不同端口: http:IP:8001/api/user     http:IP:8002/api/user 

不同IP不同端口: http://172.28.20.100:8001/api/user    http://172.128.20.100:8002/api/user 

 

基本介绍

 web api出现的时间也不短了,一直没机会运用,很多公司还是用的wcf 和webservice.目前常用的web api场景是一个接口多平台调用,例如给安卓调用 给ios调用 给平板调用 主要为移动互联网提供服务,web api虽然可以脱离iis自寄宿 但目前大多还是托管在IIS上的。

调用方式

  1. 后台调用

  

var httpClient = new HttpClient();            var responseJson = httpClient.GetAsync("http://172.28.20.106:8002/api/products/3")               .Result.Content.ReadAsStringAsync().Result;                      Console.WriteLine(responseJson);            //就这么简单的几行代码可以获得产品ID为3的对象 这是Get请求

目前使用最多的就是在手机端后台调用的方式来进行。但是在web网站端我们并不满足于后台调用 我们习惯前台用ajax调用

2.前台调用

$.ajax({            type: "GET",            url: "http://172.28.20.106:8002/api/products/3",            dataType: "xml",            contentType: 'application/xml;charset=gb2312;'        }).success(function (res) {            console.log(res);        }).error(function (xhr, status) {            console.log(xhr);        });

这样写绝对报错,会提示跨域调用错误

解决办法好几个 我采用cors的方式

步骤1:在api服务端添加引用 使用Nuget包联机安装

引用它是要用到 System.web.Http.Cors.dll这个文件

  控制跨域的访问权限有3种

 1.限定方法

 2.限定类(controller)

 3.全局 

 

我们直接使用简单粗暴的全局访问

  在app_start文件夹下面有个WebApiconfig.cs文件,在里面加上2句代码就 可以了

var cors = new EnableCorsAttribute("*", "*", "*");//第一个参数是指定的域(www.baidu.com 多个域可以以","分隔)config.EnableCors(cors);

图片如下

简单的几个步骤就解决了跨域问题,之前难倒了我2天,就为了使用ajax调用webapi

转载于:https://www.cnblogs.com/dongwenfei/p/6322439.html

你可能感兴趣的文章
iOS 字典自动生成模型
查看>>
读jQuery之十(事件模块概述)
查看>>
仅img元素创建后不添加到文档中会执行onload事件
查看>>
全球知名汽车公司品牌
查看>>
Linux SSH远程文件/目录传输命令scp
查看>>
黄聪:WordPress判断当前用户是否为管理员登录
查看>>
Android service binder aidl 关系
查看>>
Redis数据结构详解(一)
查看>>
MySql配置方法,批处理进行MySql配置
查看>>
UE4 Class Naming Prefixes
查看>>
30个优秀的网站导航菜单设计案例
查看>>
Eclipse Tips(3):Template
查看>>
Win32 API消息函数:GetMessagePos
查看>>
跟小静读CLR via C#(17)--接口
查看>>
C#WinForm应用程序实现自动填充网页上的用户名和密码并点击登录按钮
查看>>
[Z]一个轻松制作和处理矢量图的工具和方法
查看>>
PetaPoco的默认映射
查看>>
POJ 基本算法(3)
查看>>
最小生成树两个重要的算法:Prim 和 Kruskal
查看>>
SQL SERVER 中常见的高可用方案
查看>>