1. WebApi 和WebConfig 设置

using Libaray.DAL.Services;
using Libaray.Models.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;namespace Libaray.WebApi.Controllers
{/// <summary>/// 图书信息/// </summary>public class BookController : ApiController{BookService BookDAL = new BookService();/// <summary>/// 查询所有图书信息/// </summary>/// <returns></returns>public IQueryable<BookModel> Get(){return BookDAL.FindList<BookModel>().AsQueryable();}/// <summary>/// 查询制定Id的图书信息/// </summary>/// <param name="id">图书Id</param>/// <returns>查询到的图书信息</returns>public BookModel Get(string id){Guid BookId = Guid.Parse(id);return BookDAL.Find(u => u.BookId == BookId);}}
}

 <system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0" /><remove name="OPTIONSVerbHandler" /><remove name="TRACEVerbHandler" /><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /></handlers><validation validateIntegratedModeConfiguration="false" /><modules><remove name="ApplicationInsightsWebTracking" /><add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /></modules><httpProtocol>  <!-- 重点开始 --><customHeaders><add name="Access-Control-Allow-Origin" value="*" /><add name="Access-Control-Max-Age" value="30"/><add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS"/><add name="Access-Control-Allow-Headers" value="Content-Type, Accept" /></customHeaders></httpProtocol>  <!-- 重点结束 --></system.webServer>

2. MVC 客户端

@{ViewBag.Title = "FindBook";Layout = "~/Views/Shared/_Layout.cshtml";
}<h2>FindBook</h2><div class="row" style="margin-top:20px;"><div class="col-sm-2">@Html.Partial("_AccountNavigator")</div><div class="col-sm-10"><form id="form" action="/Book/FindBook" method="get"><div class="form-horizontal"><div class="form-group"><label class="col-sm-1 control-label">图书Id</label><div class="col-sm-2">@Html.TextBox("BookId", "", new { @class= "form-control input-sm" })<input type="text" id="test" name="test" /></div><input type="submit" value="查找" class="btn btn-sm btn-default" /></div></div></form><div class="table-responsive"><table class="table table-striped table-hover"><thead><tr><td>BookId</td><td>Book Name</td><td>Author</td></tr></thead><tbody id="tb"></tbody></table></div></div>
</div>
<script type="text/javascript">$(function () {$.getJSON("http://localhost:50159/api/book", function (data) {$.each(data, function (key, item) {$("#tb").append("<tr><td>" + item.BookId + "</td><td>" + item.BookName + "</td>" + "<td>" + item.Author + "</td></tr>");});});})
</script>

 

Controller

  [HttpGet]public async Task<ActionResult> FindBook(string BookId){if(!string.IsNullOrEmpty(BookId)){string url = "http://localhost:50159/api/book/";var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };using (var http = new HttpClient(handler)){var data = await http.GetAsync(url);var content = data.Content.ReadAsStringAsync();return View(data);}}return View();}

转载于:https://www.cnblogs.com/VirtualMJ/p/5182877.html

跨域调用WebApi相关推荐

  1. 解决js跨域调用WebApi的问题

    解决js跨域调用WebApi的问题 参考文章: (1)解决js跨域调用WebApi的问题 (2)https://www.cnblogs.com/qubernet/p/6396295.html 备忘一下 ...

  2. 跨域调用webapi web端跨域调用webapi

    web端跨域调用webapi 在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的 ...

  3. web端跨域调用webapi

    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...

  4. 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案

    问题描述 当跨域(cross domain)调用ASP.NET MVC或者ASP.NET Web API编写的服务时,会发生无法访问的情况. 重现方式 使用模板创建一个最简单的ASP.NET Web ...

  5. webapi做为后端接口时在跨域调用时的注意点

    比如一个典型的前端跨域调用: $.ajax({ url: url, data: params, dataType: 'jsonp', jsonpCallback:'jsonpcall', conten ...

  6. jQuery跨域调用Web API

    我曾经发表了一篇关于如何开发Web API的博客,链接地址:http://www.cnblogs.com/guwei4037/p/3603818.html.有朋友说开发是会开发了,但不知道怎么调用啊? ...

  7. WCF 4.0 REST Service JSON跨域调用

    最近在项目中用到了 WCF4.0 REST.在跨域调用时走了不少弯路,查了不少技术强人的文章,其实它真的就这么容易.好了不废话了直接贴代码. 调用的服务类:  1     [ServiceContra ...

  8. jquery跨域调用wcf

    使用jquery跨域调用wcf服务的时候会报如下错误 1 $.ajax({ 2 url: 'http://localhost:28207/Service1.svc/GetData', 3 method ...

  9. linux c调用wcf服务,Silverlight+WCF实现跨域调用

    在这篇文章中,WCF扮演服务器,向外提供LoginVaild服务:Silverlight扮演客户端,调用WCF提供的LoginVaild服务.思路有了,下面进行代码实现. 数据库脚本实现 新建T_Us ...

最新文章

  1. 数据还原到指定时间点的处理示例
  2. 什么是SESSION?(三)
  3. pythonweb毕业设计-[分享]我发现了一个快速完成物联网毕业设计的好方法!
  4. std::ostringstream::str()返回临时对象
  5. Java的知识点18——数组存储表格数据、冒泡排序的基础算法、冒泡排序的优化算法、二分法查找
  6. JSON补丁:JSON-P 1.1概述系列
  7. windows linux复制文件夹命令,ubuntu下复制目录和文件的指令以及和windows下的copy方式...
  8. 每个特征图1各因子和一个偏置_nlp中的概率图模型
  9. 智能推荐系统之数据预处理
  10. 5.微服务:从设计到部署 --- 事件驱动数据管理
  11. php中中文字符串的截取和获取长度 mb_substr() mb_strlen()
  12. 计算机联锁工程设计论文PPT,车站计算机联锁工程设计(哈尔滨)
  13. Struts2-boobooke-概述
  14. excel小写转大写公式_不要眨眼!中英文、大小写转换,一秒就搞定!
  15. 指投:3 常见的指数基金品种
  16. Python TODO说明
  17. 1062 最简分数 python
  18. 【算法】贪心算法:LeetCode 714 买卖股票的最佳时机含手续费 、LeetCode 968 监控二叉树
  19. python适合做网站吗_零基础学python—做网站
  20. iOS精品资源汇总(持续更新)

热门文章

  1. 【Linux系统编程】线程的基本操作
  2. 【Ubuntu】 Ubuntu16.04设置窗口自适应
  3. c语言中关于宏和内联说法正确的是, 2011年1月高等教育自学考试全国统一命题考试 C++程序设计试题...
  4. python第一周小测验_Python第一周小结
  5. c语言 求方程ax,关于求方程ax2+bx+c=0根的问题
  6. AOJ 0118: Property Distribution (简单DFS)
  7. 每天一道LeetCode-----将有序序列转成高度平衡二叉搜索树
  8. 每天一道LeetCode-----从有序数组中删除重复元素
  9. 每天一道LeetCode-----使用最少的操作将一个字符串转换成另一个字符串,只有插入,删除,替换三种操作
  10. java文本检索pdf,pdfsearch pdf文件的关键字搜索引擎,采用lucene,pdfbox等技术实现的 Jsp/Servlet 256万源代码下载- www.pudn.com...