MVC跨域API
API
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Cors;
using yue5API.Models;
namespace yue5API.Controllers
{
[EnableCors("*", "*", "*")]
public class BookApiController : ApiController
{
// GET: api/BookApi
yue5DBEntities db = new yue5DBEntities();
public IEnumerable<stu> Get()
{
return db.stus.ToList();
}
// GET: api/BookApi/5
public stu Get(int id)
{
var tt = db.stus.Where(s => s.ID == id).FirstOrDefault();
return tt;
}
// POST: api/BookApi
public void Post([FromBody]stu value)
{
db.stus.Add(value);
db.SaveChanges();
}
// PUT: api/BookApi/5
public void Put(int id, [FromBody]stu value)
{
var tt = db.stus.Where(s => s.ID == id).FirstOrDefault();
if (tt != null)
tt.ID = value.ID;
tt.Name = value.Name;
tt.Num = value.Num;
tt.Price = value.Price;
db.SaveChanges();
}
// DELETE: api/BookApi/5
public HttpResponseMessage Delete(int id)
{
var tt = db.stus.Where(s => s.ID == id).FirstOrDefault();
if (tt != null)
{
db.stus.Remove(tt);
db.SaveChanges();
return new HttpResponseMessage() { StatusCode = HttpStatusCode.OK };
}
else
{
return new HttpResponseMessage() { StatusCode = HttpStatusCode.NoContent };
}
}
}
}
MVC
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Web;
using System.Web.Mvc;
using yue5MVC.Models;
using Newtonsoft.Json;
namespace yue5MVC.Controllers
{
public class showController : Controller
{
//显示
// GET: show
public ActionResult Index()
{
Uri uri = new Uri("http://localhost:4970");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage message=client.GetAsync("api/BookApi").Result;
List<All> tt = new List<All>();
if (message.IsSuccessStatusCode)
{
string pp = message.Content.ReadAsStringAsync().Result;
tt = JsonConvert.DeserializeObject<List<All>>(pp);
}
client.Dispose();
return View(tt);
}
public ActionResult add()
{
return View();
}
//删除
public ActionResult shan(int id)
{
Uri uri = new Uri("http://localhost:4970");
HttpClient client = new HttpClient();
client.BaseAddress = uri;
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage message = client.DeleteAsync("api/BookApi/"+id).Result;
if (message.IsSuccessStatusCode)
{
return Content("<script>alert('删除成功');location.href='/show/Index'</script>");
}
else
{
return Content("<script>alert('删除失败')</script>");
}
}
//修改
public ActionResult xiu(int id)
{
ViewBag.id = id;
return View();
}
}
}
前台修改
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>xiu</title>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
</head>
<body>
<div>
<p>名称:<input id="txtname" type="text" name="Name" /></p>
<p>数量:<input id="txtnum" type="text" name="Num" /></p>
<p>价格:<input id="txtprice" type="text" name="Price" /></p>
<input id="Submit1" type="submit" value="sub修改" />
<input id="Button1" type="button" value="修改" onclick="xiu()" />
<script>
$(function () {
show();
})
function show() {
var id = '@ViewBag.id';
$.ajax({
url: "http://localhost:4970/api/Bookapi/"+id,
type: "Get",
success: function (data) {
$("#txtname").val(data.Name);
$("#txtnum").val(data.Num);
$("#txtprice").val(data.Price);
}
})
}
function xiu() {
var id = '@ViewBag.id';
$.ajax({
url: "http://localhost:4970/api/Bookapi/"+id,
type: "Put",
data:{ID:id,Name:$("#txtname").val(),Num:$("#txtnum").val(),Price:$("#txtprice").val()},
success: function (data) {
alert("修改成功");
location.href = '/show/Index';
}
})
}
</script>
</div>
</body>
</html>
添加
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>add</title>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
</head>
<body>
<div>
<p>名称:<input id="txtname" type="text" /></p>
<p>数量:<input id="txtnum" type="text" /></p>
<p>价格:<input id="txtprice" type="text" /></p>
<input id="Button1" type="button" value="添加" onclick="tian()" />
<script>
function tian() {
$.ajax({
url: "http://localhost:4970/api/Bookapi",
type: "Post",
dataType: "json",
data: { Name: $("#txtname").val(), Num: $("#txtnum").val(), Price: $("#txtprice").val() },
success: function (data) {
alert("添加成功");
location.href = '/show/Index';
}
})
}
</script>
</div>
</body>
</html>
显示
@{
Layout = null;
}
@model List<yue5MVC.Models.All>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
</head>
<body>
<div>
<table>
<tr>
<td>名称</td>
<td>数量</td>
<td>价格</td>
<td>操作</td>
</tr>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Name</td>
<td>@item.Num</td>
<td>@item.Price</td>
<td><a href="#" onclick="shan(@item.ID)">删除</a>
<a href="/show/xiu/@item.ID">修改</a></td>
</tr>
}
</tbody>
</table>
<table id="show"></table>
<script>
$(function () {
show();
})
function show() {
$.ajax({
url: "http://localhost:4970/api/Bookapi/"+id,
type: "Get",
success: function (data) {
var str = "";
str += "<tr><td>" + data.Name+ "</td></tr>";
str += "<tr><td>" + data.Num + "</td></tr>";
str += "<tr><td>" + data.Price + "</td></tr>";
$("#show").val();
}
})
function shan(id){
location.href='/show/shan?id='+id;
}
</script>
</div>
</body>
</html>
MVC跨域API的更多相关文章
- 跨域API
跨域API 简单跨域请求 只需要简单的设置允许跨域就可以了 def set_default_headers(self): self.set_header('Access-Control-Allow-O ...
- Angular2中对ASP.NET MVC跨域访问
应用场景 项目开发决定使用angular2进行前后端分离开发,由我负责后端服务的开发,起初选择的是web api进行开发.对跨域访问通过API中间件+过滤器对跨域访问进行支持.开发一段后,通知需要移植 ...
- MVC跨域CORS扩展
一般的基于浏览器跨域的主要解决方法有这么几种:1.JSONP 2.IFrame方式 3.通过flash实现 4.CORS跨域资源共享 ,这里我们主要关注的是在MVC里面的CORS ...
- 关于Spring MVC跨域
1.Sping MVC 3.X跨域 关于跨域问题,主要用的比较多的是cros跨域. 详细介绍请看https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Ac ...
- spring mvc跨域设置(全局)
//--------------第一步//spring 5版本全局配置方式 @Configuration @EnableWebMvc public class SpringMvcBeans imple ...
- spring mvc 跨域问题。。。解决
官方推荐方式: http://spring.io/blog/2015/06/08/cors-support-in-spring-framework 方式1: $.ajax({ //前台:常规写法.注意 ...
- spring mvc 跨域请求处理——spring 4.2 以上
Controller method CORS configuration You can add to your @RequestMapping annotated handler method a ...
- Asp.Net 跨域,Asp.Net MVC 跨域,Session共享,CORS,Asp.Net CORS,Asp.Net MVC CORS,MVC CORS
比如 http://www.test.com 和 http://m.test.com 一.简单粗暴的方法 Web.Config <system.web> <!--其他配置 省略……- ...
- 解决.Net Mvc跨域请求问题
针对ASP.NET MVC和ASP.NET Web API两种项目类型 1.针对ASP.NET MVC,只需要在web.config中添加如下的内容即可 <system.webServer> ...
随机推荐
- ASP.NET MVC案例教程(一) 准备
ASP.NET MVC案例教程(一) 前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了.可以说自动推出以来,一直广受关注.在经历了漫长的Preview之后,前几天终于推出了其 ...
- 21 python的魔法方法(转)
魔法方法 含义 基本的魔法方法 __new__(cls[, ...]) 1. __new__ 是在一个对象实例化的时候所调用的第一个方法2. 它的第一个参数是这个类,其他的参数是用来直接传递给 _ ...
- Python 第五阶段 学习记录之----ORM
ORM: orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了 ...
- 微信小程序之mpvue+iview踩坑之旅
因为之前参照微信的原生的文档写过一些小程序的demo,写的过程比较繁琐,后来出了美团的mpvue,可以直接使用vue开发,其他的不作对比,这篇文章记录一下踩坑之旅. 参照mpvue http://mp ...
- js 简单的进度条
html部分 <div id='div1'> <div id="div2"></div> </div> css部分 div{ hei ...
- 51Nod 1185 威佐夫游戏 V2
有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取.拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出2堆石子的数量, ...
- Linux 进程后台运行
Linux 进程后台运行 1.进程在当前终端后台运行.(关闭终端后进程自动退出) sh test.sh & 注:运行进程后跟 “&” 2.进程长期后台运行不受终端关闭影响. nohup ...
- zabbix 配置本地邮箱报警
Centos 6.5, Zabbix 3.0.4 后台配置email 浏览器登录zabbix后台,Administration -> Media types -> Email: 比较简单的 ...
- hbot固件配置
又入了一台打印机,171到手,本来之前有更好的,无奈别人下手太快,只剩这台了. 175x135x180的样子. 创客的板,还带16g的闪迪内存卡,看到那会儿感觉赚大了! 拿到的时候不少螺丝松的,有的打 ...
- UI自动化(六)js
HTML中的三把利器的JS 又称为JavaScript,看着好像和Java有点联系,实际上他和java半毛钱关系都没有,JavaScript和我们学习的Python.Go.Java.C++等,都是一种 ...