WebApi前端调用

HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-3.2.1.js"></script>
</head>
<body>
<input type="button" id="btnUserlist" value="查询用户信息">
<div id="UsersListDiv" style="width:300px;height: 200px;border: 1px solid gray;"></div>
</body>
</html>

备注:获取整张表的数据,使用for循环或foreach遍历

<script>
// Ajax异步请求,查询列表信息,因为返回的是泛型集合,直接for循环取值
$(function() {
$("#btnUserlist").click(function() {
$.ajax({
type: 'get', //Http请求类型
url: 'https://localhost:44304/api/Values',
dataType: 'json', //服务器返回json数据类型
data: {},
success: function(data) {
var a = "";
for (var i = 0; i < data.length; i++) {

a += "," + data[i].Name;
}
$("#UsersListDiv").html("您查询的结果为:" +a);
},
error: function() {
alert("请求失败!");
},
complete: function() {
alert("回调");
}
});
});
});
</script>

获取单条数据:在data里面传参,不需要遍历,直接通过data.Name来取值

<script>
// Ajax异步请求,查询单条信息,直接在data中传参,取值直接使用data.Name取值
$(function() {
$("#btnUserlist").click(function() {
$.ajax({
type: 'get', //Http请求类型
url: 'https://localhost:44304/api/Values',
dataType: 'json', //服务器返回json数据类型
data: {
id: 10000
},
success: function(data) {
$("#UsersListDiv").html("您查询的结果为:" +data.Name );
},
error: function() {
alert("请求失败!");
},
complete: function() {
alert("回调");
}
});
});
});
</script>

<script>
// Ajax异步请求,修改数据前端代码
$(function() {
$("#btnUserlist").click(function() {
$.ajax({
type: 'post', //Http请求类型
url: 'https://localhost:44304/api/Values/UpdateUser/10000',
data: {
Id:10000,
Name:"周宇菲",
Age:5,
Sex:"女"
},
success: function() {
alert("修改成功");
},
error: function() {
alert("请求失败!");
},
complete: function() {
alert("回调");
}
});
});
});
</script>

// PUT api/values/5 修改数据后台代码
[HttpPost]
public void UpdateUser(int id, [FromBody]User value)
{
foreach (User item in UsList)
{
if (id== item.Id)
{
item.Name = value.Name;
item.Sex = value.Sex;
item.Age = value.Age;
}
}
}

前端调用解决跨域问题固定代码:

在服务端的Web.config的 </handlers>下面添加以下固定代码

<!--解决跨域问题-->
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET" />
<add name="Access-Control-Allow-Headers" value="Content-Type,Token" />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>

备注:获取整张表的数据,使用for循环或foreach遍历

WebApi的前端调用的更多相关文章

  1. WebApi的调用-1.前端调用

    前端调用 html <div class="row"> <form id="queryForm"> <input name=&qu ...

  2. 前端调用后端的方法(基于restful接口的mvc架构)

    1.前端调用后台: 建议用你熟悉的一门服务端程序,例如ASP,PHP,JSP,C#这些都可以,然后把需要的数据从数据库中获得,回传给客户端浏览器(其实一般就是写到HTML中,或者生成XML文件)然后在 ...

  3. Nginx解决前端调用后端接口跨域问题

    1.项目中遇到的问题描述: 前端调用zuul统一网关服务接口,请求状态码200,但是无返回数据. 浏览器控制台报错信息:No  Access-Control-Allow-Origin header i ...

  4. 【天坑】ASP.net WebAPI跨域调用问题

    最近在做一个项目,前端是VUE,后端是WebAPI,业务也就是一些实体的增删改查.在项目开始的时候我就预计到有跨域的问题,所以也找了一下资料,在Web.Config里面加上了配置信息: <htt ...

  5. Asp.net WebApi Put模式调用,“HTTP 错误 405.0 - Method Not Allowed”解决方法

    IIS10.0在部署了WebAPI之后,默认是不支持Put模式调用的.需要按照下面方法启用. 步骤一:在IIS管理界面要支持Put模式的IIS站点,选择 "功能视图". 步骤二:选 ...

  6. (跨平台)cocos2d-x C++ or Object-C(前端)调用C# webservices(后台),实现交叉编译到Android/IOS/WinPhone等移动终端设备

    1.2014年4月2号算是正式找到自己的实习工作-杭州美迪软件有限公司(移动物联事业部)合作于:四川管家婆总部移动终端代理,由于在校选编程专业语言C#和在浙大网新培训课程(C#.Asp.net开发)缘 ...

  7. 使用wcf编写坐标字符串生成shapefile文件,在iis发布供前端调用

    项目有一需求,需要由坐标字符串(格式:x,y,点名)生成shapefile,由于在前台开发类似功能比较麻烦而且也不适用,最终决定使用WCF来实现,不借助现有GIS软件,基于GDAL实现. 实现过程如下 ...

  8. JS前端调用后台方法

    //JS前端代码function Exportqmdltb() { var areavalue= GetQmdltmValue(); $.ajax({ type: "post", ...

  9. 【Python】【Flask】前端调用后端方法返回页面

    后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...

随机推荐

  1. 关于前端项目cookie的获取

    最近项目在做切换,2.0要升级到3.0,遇到跨域问题,使用的是nginx 进行对端口拦截请求其他地址,另外有的服务还要登录权限,之前没看到有这个,后来加上获取cookie的请求 var v3_toke ...

  2. Codeforces 878D - Magic Breeding(bitset,思维题)

    题面传送门 很容易发现一件事情,那就是数组的每一位都是独立的,但由于这题数组长度 \(n\) 很大,我们不能每次修改都枚举每一位更新其对答案的贡献,这样复杂度必炸无疑.但是这题有个显然的突破口,那就是 ...

  3. 【2020五校联考NOIP #2】矩阵

    咕咕咕到现在~ 题面传送门 题意: 给出一个 \(n\times n\) 的矩阵 \(A\).要你求有多少个 \(n\times n\) 的矩阵 \(B\) 满足: 每一行都是 \(1\) 到 \(n ...

  4. R语言与医学统计图形-【15】ggplot2几何对象之线图

    ggplot2绘图系统--几何对象之线图 曲线:点连线.路径曲线.时间序列曲线.模型拟合曲线...... 直线:水平直线.垂直直线.斜线. 1.曲线 对象及其参数. #路径图 geom_path(ma ...

  5. Python编译工具Anaconda(含有spyder+jupyter)

    Anaconda的下载和安装 官方的下载地址:https://www.anaconda.com/distribution/ 安装程序为一个可执行程序文件,下载完成后双击执行程序即可完成安装.安装过程一 ...

  6. MacBookpro安装VMware Fusion虚拟机,并安装win7 64位系统

    1.准备好安装用的东西(准备好正确的东西,安装路上就成功了一半)(1)VMware Fusion 附带注册机生成注册码,链接: https://pan.baidu.com/s/13Qm9zPOFjFt ...

  7. eclipse不自动弹出提示的解决办法(eclipse alt+/快捷键失效)

    转载:http://yuncode.net/article/a_53bf6888b6f5065 我的问题:在jsp中使用"alt+/"不能够自动导入java包.利用3,4解决问题 ...

  8. PhantomJS的安装和使用

    PhantomJS是一个无界面的.可脚本编程的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作.CSS选择器.JSON.Canvas以及SVG.Selenium支持PhantomJS,这样 ...

  9. 选择省份、选择省市区举例【c#】【js】

    <style type="text/css"> .labelhide { -webkit-box-shadow: 0px 1px 0px 0px #f3f3f3 !im ...

  10. 为构建大型复杂系统而生的微服务框架 Erda Infra

    作者|宋瑞国(尘醉) 来源|尔达 Erda 公众号 ​ 导读:Erda Infra 微服务框架是从 Erda 项目演进而来,并且完全开源.Erda 基于 Erda Infra 框架完成了大型复杂项目的 ...