javascript-使用ASP.Net webapi的Angular.js $resource?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-使用ASP.Net webapi的Angular.js $resource?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2041字,纯文字阅读大概需要3分钟。
内容图文
![javascript-使用ASP.Net webapi的Angular.js $resource?](/upload/InfoBanner/zyjiaocheng/690/c6c441c46f1d4210b3adcfb7e123c390.jpg)
我有一个简单的ASP.Net WebAPI服务,该服务在POST / PUT上分配一个静态变量,并在GET上返回值:
private static State Repo = null;
public State Get()
{
return Repo;
}
public void Post(State value)
{
Repo = value;
}
public void Put(State value)
{
Repo = value;
}
我有一个这样定义的角度资源:
var stateService = angular.module('StateService', ['ngResource']);
stateService.factory('State', function ($resource) {
return $resource('http://localhost:8080/API/State');
});
当我尝试这样做时:
State.get(function (state) {
$scope.data = state.data !== undefined ? state.data : '[Not Set]';
state.data = "newvalue";
state.$save();
});
get()工作正常,但$save()在chrome中抛出此错误:
XMLHttpRequest cannot load http://localhost:8080/API/State. Invalid HTTP status code 405
该webAPI已经启用了CORS(返回Access-Control-Allow-Origin:*).我想念什么?
解决方法:
对于某些CORS请求,浏览器在发送对资源的实际请求之前会发送一个附加请求,称为“预检请求”.
飞行前请求使用HTTP OPTIONS(405状态码)方法.它包含两个特殊的头:
> Access-Control-Request-Method:将用于的HTTP方法
实际要求.
> Access-Control-Request-Header:请求列表
应用程序在实际请求上设置的标头. (再次
不包含浏览器设置的标头.)
即使您启用了CORS,它也适用于GET请求,并且您告诉它对于POST请求显示405 HTTP状态.这是因为POST,PUT,DELETE请求不是安全的请求,它们首先发送请求OPTIONS请求,您必须响应该请求,例如Access-Control-Allow-Origin:*,Access-Control-Allow-Methods :POST,然后它将再次发送POST request,然后它将正常工作.
请确认您要发送的标题是什么.即,要成功发送CORS POST请求,您至少必须发送Access-Control-Allow-Methods:POST以及Access-Control-Allow-Origin:*.
使它启用CORS的步骤:
>安装此-使用NuGet安装软件包Microsoft.AspNet.WebApi.Cors
>打开文件App_Start / WebApiConfig.cs.将以下代码添加到WebApiConfig.Register方法.
>接下来,将[EnableCors]属性添加到Controller类:
具有以下参数
[EnableCors(来源:“您的域”,标头:“ *”,方法:“ POST”)]
>重新部署您的WebAPI项目.
消息来源-http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
更多链接-http://www.codeproject.com/Articles/742532/Using-Web-API-Individual-User-Account-plus-CORS-En
内容总结
以上是互联网集市为您收集整理的javascript-使用ASP.Net webapi的Angular.js $resource?全部内容,希望文章能够帮你解决javascript-使用ASP.Net webapi的Angular.js $resource?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。