ASP. NET MVC + vue + axios 와 ASP. NET WebAPI + vue + axios 기술 창고 사이트 개발 실현
최근 에 회사 에서 임무 가 비교적 적어 서 한가 로 이 연구 한 결과
ASP.NET MVC+vue+axios
와 ASP.NET WebAPI+vue+axios
사이트 개발 을 실현 했다. 왜냐하면 회사 가 줄곧 ASP.NET MVC
전자 정무 개발 을 사용 하고 있 기 때문에 매우 번거롭다.전자 정무 시스템 을 재 구성 할 기회 가 있 을 거 라 고 생각 했 어 요.(사실 아무것도 쓰 지 않 았 습 니 다. 주로 axios 를 통 해 두 프레임 워 크 를 호출 하 는 방법 을 적 었 습 니 다)ASP.NET MVC+vue+axios
실현ASP.NET MVC
과 vue 와 axios 기술 의 사용 에 대해 저 는 여기 서 더 이상 설명 하지 않 겠 습 니 다. 저 는 주로 axios 호출 ASP.NET MVC
에서 컨트롤 러 방법 을 어떻게 사용 하 는 지 쓰 겠 습 니 다. [HttpPost]
public ActionResult GetYDBPModel(string a)
{
return Json('result'+a);
}
created:function(){
axios.post('http://localhost:32845/NBGG/GetYDBPModel',{
a:'cons'
})
//
.then(response=>{
console.log(response);
})
//
.catch(error=>{
alert(" , ");
})
}
}
No ‘Access-Control-Allow-Origin’ header is present on the requested resource.’
이것 은 도 메 인 방문 에 오류 가 발생 한 것 입 니 다. 다음은 해결 방법 입 니 다.
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
<add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
여기 에는 주로 Access - Control - Allow - Origin 이라는 Header 가 추가 되 어 있 습 니 다. 그 는 W3C 표준 에서 이 크로스 도 메 인 요청 이 통 과 될 수 있 는 지 확인 하 는 데 사 용 됩 니 다.(Access Control Check)
주로 이 루어 질 수 있 습 니 다.
ASP.NET WebAPI
+ vue + axios 실현마찬가지 로 여기 서도 웹 API 의 상세 한 사용 을 자세히 쓰 지 않 겠 습 니 다.주로 어떻게 실현 합 니까?
No 'Access-Control-Allow-Origin' header is present on the requested resource.'
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Filters;
namespace webAPI.Models
{
public class AllowCrossSiteJsonAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
if (actionExecutedContext.Response != null)
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
base.OnActionExecuted(actionExecutedContext);
}
}
}
[AllowCrossSiteJson]
public class apiController : ApiController
{
Product[] products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> Get()
{
return products;
}
public IHttpActionResult Get(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
}
public class apiController : ApiController
{
Product[] products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> Get()
{
return products;
}
[AllowCrossSiteJson]
public IHttpActionResult Get(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
}
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API
// json
//config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
// Web API
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
created:function(){
axios.get('http://localhost:34003/api/api')
//
.then(response=>{
console.log(response);
})
//
.catch(error=>{
alert(" , ");
})
}
}
큰 성 과 를 거두다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
arcgis-api-for-js-의 레이어 만들기 및 레이어 추가 (1)1.1 ArcGIS API for JavaScript 참조 태그 참조main.css 스타일시트, Esri 창의 작은 위젯과 구성 요소에 특정한 스타일을 포함합니다.코드는 다음과 같습니다. 지도 대상을 만들기 전에, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.