angularjs post 跨域
web api搞好了;用Ajax妥妥的;但是前端用的AngulagJS,也懒得再换为Ajax了;
但是问题来了;提示:
已拦截跨源请求:同源策略禁止读取位于 http://x.x.x.x:port/api/Person/Update 的远程资源。(原因:CORS 预检通道未成功)。
搜索一下:一般就是配置服务器和客户端的header
找到了一篇可以解决的:http://www.cnblogs.com/BGOnline/p/5996289.html
1.开启angularjs的CORS支持
.config(function($httpProvider) { // CORS post跨域配置$httpProvider.defaults.useXDomain = true; $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';var param = function(obj) { // 修改angularjs $http.post的默认传参方式var query = '', name, value, fullSubName, subName, subValue, innerObj, i;for(name in obj) {value = obj[name];if(value instanceof Array) {for(i=0; i<value.length; ++i) {subValue = value[i];fullSubName = name + '[' + i + ']';innerObj = {};innerObj[fullSubName] = subValue;query += param(innerObj) + '&';}}else if(value instanceof Object) {for(subName in value) {subValue = value[subName];fullSubName = name + '[' + subName + ']';innerObj = {};innerObj[fullSubName] = subValue;query += param(innerObj) + '&';}}else if(value !== undefined && value !== null)query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';}return query.length ? query.substr(0, query.length - 1) : query;};$httpProvider.defaults.transformRequest = [function(data) {return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;}];delete $httpProvider.defaults.headers.common['X-Requested-With']; })
2.开启服务器端CORS支持
header('Access-Control-Allow-Origin: *');//(我不知道这个是怎么配置的,PHP的?)
我自己的web.config相关配置
<!--跨域..--><httpProtocol><customHeaders><add name="Access-Control-Allow-Origin" value="*" /><!--Content-Type,--><add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" /><add name="Access-Control-Allow-Methods" value="GET,POST,PUT, DELETE, OPTIONS" /></customHeaders></httpProtocol></system.webServer>
转载于:https://www.cnblogs.com/love-zf/p/6265281.html
angularjs post 跨域相关推荐
- angularjs ajax header,angularJs/ajax跨域请求携带cookies
前后端分离时候,当前端测试不在同一个域时候,前端使用ajax请求时,ajax默认不会将cookies保存,而且也不会发送cookie到服务端, 此时在请求方法中加入粗体部分即可,当然存取cookies ...
- angularJs解决跨域问题-最简单的完美实例
为什么80%的码农都做不了架构师?>>> 1.准备说明: 客户端 http://www.aaa.com 服务端 http://www.bbb.com 或者 http://ser ...
- AngularJS跨域问题 ajax 跨域
为什么80%的码农都做不了架构师?>>> 先看代码: $http({method: 'POST',//withCredentials: true, //这个用来将cookie传 ...
- java angularjs 跨域访问_angularjs跨域post解决方案
AngularJS实现跨域请求跨域,前端开发中经常遇到的问题,AngularJS实现跨域方式类似于Ajax,使用CORS机制.下面阐述一下AngularJS中使用$http实现跨域请求数据.Angul ...
- java angularjs 跨域访问_AngularJS实现跨域请求
跨域,前端开发中常常遇到的问题.AngularJS实现跨域方式类似于Ajax.使用CORS机制. 以下阐述一下AngularJS中使用$http实现跨域请求数据. AngularJS XMLHttpR ...
- SpringMvc+AngularJS通过CORS实现跨域方案
什么是跨域请求问题? 这个问题的起因在于现代浏览器默认都会基于安全原因而阻止跨域的ajax请求,这是现代浏览器中必备的功能,但是往往给开发带来不便. 但跨域的需求却一直都在,为了跨域,勤劳勇敢的程序猿 ...
- AngularJS 与 IE11 跨域
每个开发流程都有两部分.首先努力工作,开发应用程序.第二个努力工作并使其与伟大的傲慢的IE兼容. 我们使用angularJS时,firefox与chrome对该angular.js的兼容性十分不错,十 ...
- angularjs 1.6.5跨域
//转换成安全的URL var dataUrl = $sce.trustAsResourceUrl("https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2D ...
- CORS-跨域资源共享 解决跨域问题
1.什么是跨域? a.test.com 和 b.test.com 是两个不同的域,而处于安全机制考虑,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容,但是我们在项目开发时,经常遇到一个页 ...
最新文章
- python经典好书-有哪些 Python 经典书籍?
- Windbg/KD驱动调试点滴–将平时调试的一些小方法共享给大家 --------- 转
- JavaScript高级程序设计学习笔记6:正则表达式
- 测试如何转为开发人员
- SpringBoot 上传限制
- .NET 现代化动态 LINQ 库 Gridify
- java中的输入语句判断正负_在java中使用方法调用统计数组中正数的个数,将判断数据的正负功能定义成方法...
- 关于html中css无法作用的问题
- 自动生成一列不重复数据库
- 星际2 BETA客户端背景音乐打包下载(附提取方法)
- ElasticSearch之QueryDSL查询语法
- 国微高校 html源码,国微CMS模板结构_模板教程_广州国微软件高校站群系统---领先的高校站群系统方案|全媒体方案|学校网站系统...
- matlab改变图片尺寸及像素与尺寸的转换
- Android初级基础知识复习(十八) —— 自定义通知栏
- 风险加权资产(RWA)分析管理系统
- java环境classpath_JAVA中的环境变量配置 PATH CLASSPATH
- 苹果13系统锁屏延迟_iPhone锁屏慢有延迟怎么办 苹果手机锁屏不灵敏解决方法
- C#练习之判断字符串是否为回文
- ANSYS | 螺栓模拟
- 20个免费webservice接口