简单web api跨域调用案例
我使用的是VS2017
新建项目ASP.NET Web应用程序(.NET Framework)模板为空的Web Api 如下图:
创建web api控制器 右击Controllers文件夹-添加-控制器-web api控制器 控制器名称以Controller结尾
接下来在控制器中写入方法
方法名称要以get/post/put/delete开头
•根据传入的请求URL和HTTP动词(GET/POST/PUT/DELETE),Web API决定执行哪个Web
API控制器和操作方法。
•Get()方法将处理HTTP GET请求。
•Post()方法将处理HTTP POST请求。
•Put()方法将处理HTTP PUT请求。
•Delete()方法将处理HTTP DELETE请求。
如果前端使用get请求方式调用web api方法 则会自动调用以get开头的方法
若是传过来有参数,则会调用符合参数类型和个数的get方法,其他请求方式也是如此
服务端就算简单写完了
但是要跨域调用还要更改一下配置
在服务端的web.config中<system.webServer>标签中插入一段代码 如下图:
在控制器中加入一个方法 如下图:
接下来创建客户端
新建项目ASP.NET Web应用程序(.NET Framework)模板为空
然后右击添加一个web窗体,
(mvc视图也可以)
设计代码如下
使用jQuery调用web api方法
如果服务端发布出去了,可以直接执行客户端
如果没有,需要先执行服务端 即web api 不要关闭,然后在执行客户端
上面Ajax的地址是执行服务端后从地址栏拿的端口号+api+控制器名称
CTRL+F5执行服务端,结果如图,正常
最终点击按钮调用方法结果如图