MVC+EF API --2

一、 MVC+EF

不管是MvcHAIS Ef 都有文件夹Controller

二、Link查询

  • 多表联查

  • 匿名类型

    三、Postman使用

四、mvc访问使用API

  • 跨域设置:(直接复制粘贴)

  • 跨域请求(在UI层的Web.config 中<system.webServer>中的 </handlers> 下面)

  • <!--跨域请求:三个配置信息-->
      <httpProtocol>
        <customHeaders>
          <!--响应类型 (值为逗号分隔的一个字符串,表明服务器支持的所有跨域请求的方法)-->
          <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS"/>
          <!--响应头设置(Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain)-->
          <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
          <!--如果设置 Access-Control-Allow-Origin:*,则允许所有域名的脚本访问该资源-->
          <add name="Access-Control-Allow-Origin" value="*" />
          <!--<add name="Access-Control-Allow-Origin" value="http://domain1.com, http://domain2.com" /> 设置允许跨域访问的网址-->
        </customHeaders>
      </httpProtocol>
  • 跨域设置(UI层的Global.asax 中 直接粘贴到原本方法下面)

  • /// <summary>
          /// 跨域设置
          /// </summary>
          protected void Application_BeginRequest()
          {
              //OPTIONS请求方法的主要作用:
              //1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
              //2、用来检查服务器的性能。如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。
              if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
              {
                  //表示对输出的内容进行缓冲,执行page.Response.Flush()时,会等所有内容缓冲完毕,将内容发送到客户端。
                  //这样就不会出错,造成页面卡死状态,让用户无限制的等下去
                  Response.Flush();
              }
          }
  • 在MVC中

  • 用ajax显示分页查询

<input type="text" id="SName" />
<select id="nclass">
  <option>请选择</option>
</select>
<input type="button" value="查询" onclick="Show()" />
<table class="table table-hover">
  <thead>
      <tr>
          <td>ID</td>
          <td>学生姓名</td>
          <td>班级</td>
      </tr>
  </thead>
  <tbody id="tbd">
  </tbody>
</table>
<a href="#" onclick="Page('F')">首页</a>
<a href="#" onclick="Page('N')">下页</a>
<a href="#" onclick="Page('P')">上页</a>
<a href="#" onclick="Page('L')">尾页</a>
<script>
  var pageindex = 1;
  var pagesize = 3;
  var totalcount = 0;
  var totalpage = 0;
  var NId = "";
  var SName = "";
  $(function () {
      Show();
      nclass();
  })
  function Show() {
      $.get('http://localhost:59125/api/Student/Show?NId=' + NId + '&SName=' + SName + '&pageindex=' + pageindex + '&pagesize=' + pagesize + '', res => {
          //给总页数和总条数赋值
          totalcount = res.totalcount;
          totalpage = res.totalpage;
          SName = $("#SName").val();
          NId = $("#nclass").val();
          $("#tbd").empty();
          $(res.list).each(function () {

              $("#tbd").append('<tr>' +
                  '<td>' + this.Id + '</td>' +
                  '<td>' + this.SName + '</td>' +
                  '<td>' + this.NName + '</td>' +
                  +'</tr>');
          });
      });

  }
  //分页
  function Page(o) {
      switch (o) {
          case 'F':
              pageindex = 1;
              break;
          case 'P':
              pageindex = pageindex <= 1 ? pageindex : pageindex - 1;
              break;
          case 'N':
              pageindex = pageindex >= totalpage ? pageindex : pageindex + 1;

              break;
          case 'L':
              pageindex = totalcount;
              break;
      }
      Show();
  }
//下拉框
  function nclass() {
      $.get('http://localhost:59125/api/Student/nclass', res => {
          $(res).each(function () {
              $("#nclass").append(
                  '<option value="' + this.NId + '">' + this.NName + '</option>'
              )
          })
      });
  }
</script>

RESTful风格编写接口

Cors跨域

MVC+EF API 跨域的更多相关文章

  1. .net IIS MVC Rest api 跨域 PUT DELETE 404 无法使用问题解决方案

    一.WebConfig配置法(system.webServer 重点是 httpProtocol handlers) http://www.jinxuliang.com/blog/article/re ...

  2. ASP.NET MVC中设置跨域

    ASP.NET MVC中设置跨域 1.什么是跨域请求 js禁止向不是当前域名的网站发起一次ajax请求,即使成功respone了数据,但是你的js仍然会报错.这是JS的同源策略限制,JS控制的并不是我 ...

  3. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  4. ASP.NET MVC 实现AJAX跨域请求方法《1》

    ASP.NET MVC 实现AJAX跨域请求的两种方法 通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据 ...

  5. 【转载】ASP.NET MVC设置允许跨域访问

    默认情况下,浏览器端发送Ajax请求一般被禁止跨域访问,如A域名网站访问B域名网站的请求会被终止,在ASP.NET MVC项目中,我们可以配置相应的设置项,允许网站的接口跨域访问,主要需要设置Acce ...

  6. Web Api跨域访问配置及调用示例

    1.Web Api跨域访问配置. 在Web.config中的system.webServer内添加以下代码: <httpProtocol> <customHeaders> &l ...

  7. vue使用axios调用豆瓣API跨域问题

    最近做了一个vue小demo,使用了豆瓣开源的API,通过ajax请求时需要跨域才能使用.   封面.jpg 一.以下是豆瓣常用的开源接口: 正在热映 :https://api.douban.com/ ...

  8. ASP.NET MVC 实现 AJAX 跨域请求

    ASP.NET MVC 实现AJAX跨域请求的两种方法 和大家分享下Ajax 跨域的经验,之前也找了好多资料,但是都不行,后来看到个可行的修改了并测试下 果然OK了   希望对大家有所帮助! 通常发送 ...

  9. Laravel API跨域访问的实现步骤

    本篇文章给大家带来的内容是关于Laravel API跨域访问的实现步骤,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 服务器A请求服务器B的接口,那么一般会出现跨域问题. 1 XML ...

  10. web api 跨域请求,ajax跨域调用webapi

    1.跨域问题仅仅发生在Javascript发起AJAX调用,或者Silverlight发起服务调用时,其根本原因是因为浏览器对于这两种请求,所给予的权限是较低的,通常只允许调用本域中的资源,除非目标服 ...

随机推荐

  1. react native 模拟机调试,debug菜单在哪

  2. win10 U盘重装系统

    1.做好U盘 2.F7选择U盘启动,不用F2切换启动顺序 3.IQY一键安装 4.重启前拔掉U盘 5.如果重启后蓝屏显示 恢复,重新进入PE使用 windows引导恢复,再重新启动

  3. 自我介绍&学习心得

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2023learning/join?id=CfDJ8GXQNXLgcs5PrnWvMs4xAGN4cH ...

  4. 专业视频图片水印清除工具丨HitPaw Watermark Remover 2.1.3

    软件下载 MAC/Windows HitPaw Watermark Remover 软件介绍 HitPaw Watermark Remover 是一款能够轻松去除图片视频水印的软件.对于有水印的图片视 ...

  5. svn 中如何checkout出单个文件

    A 通过命令行操作 1.检出目录images svn co --depth=empty http://www.iusesvn.com/project1/images images_work_dir 这 ...

  6. MQTT 客户端出现连接订阅等问题时如何排查?

    大家好,这是一期社区专题 FAQ.我们整理了近期社区中关注度较高的问题,在这里进行统一汇总解答. 今后本系列内容将不定期推送,敬请关注. 同时,如果大家在使用 EMQX 的过程中遇到问题,欢迎通过以下 ...

  7. Vue + Element table的@select方法获取当table中的id值都相同时,获取他们索引

    先说下问题情况,原本通过双重forEach方法方法,遍历可以获取到被勾选中的索引. let arr = []val.forEach((val, index) => { this.TableDat ...

  8. 技嘉b75m-d3v在nvme固态安装win7并且oem激活的实现过程

    本篇文章主要讲述了实现台式机主板oem激活win7以及旧平台主板使用nvme固态安装win7的过程 事情的起因是我去年在小黄鱼买了台戴尔n4110,今年买了台惠普银河舰队2代,并且把里面128GB的n ...

  9. CMMI审核期间的主要流程

    整个阶段大致2个月左右,正式评估大概一个星期 一 计划准备阶段,包括我们一些资料的准备,做评估计划等 二 执行评估阶段 启动会议 主要主任评估师讲,所有人员参会 会议内容:主任评估师自我介绍 ,项目信 ...

  10. shell mv cp image in parallel 多线程解压parallel

    # apt install parallel # mkdir -p 1Kx1K/img # ls 1Kx1K/img_9*.jpg |parallel -j 80 mv {} 1Kx1K/img ht ...