芯友网xin1234.com

跨域问题 基本上有三种解法



我来自台湾
跨域问题 基本上有三种解法
夜藍
是不是没发布
我来自台湾
前两种 代码改变幅度大
我来自台湾
最新的是CORS机制
我来自台湾
不需要改变代码
我来自台湾
我来自台湾
需要浏览器支持
我来自台湾
IE好像是8之后才支持
我来自台湾
所以如果你要考量IE8以前版本相容性问题 那就麻烦大了
磁力线
是不是我换成具体的ip地址,不用localhost 就没这问题了? 
我来自台湾
不是
我来自台湾
你的用户端 与 web api只要在不同域 就会有问题
磁力线
哦 
我来自台湾
你是不是昨天问项目分工那个?
磁力线
嗯,是的 
我来自台湾
所以我昨天跟你说了
我来自台湾
如果你要将web api与html分离成两个项目
我来自台湾
那你有很多技术问题要处理
我来自台湾
所以我昨天建议你另一个方式
我来自台湾
直接整在同一个MVC项目内
磁力线
什么方式
磁力线
哦 
我来自台湾
你跨域解决了
我来自台湾
还有Security问题
我来自台湾
而web api设计上都是无状态的
我来自台湾
默认没有Session
磁力线
session  我加了
情傷
Session加了没用的
我来自台湾
所以在安全问题处理上不能用传统模式
我来自台湾
一般作法是透过asp.net idientity处理
我来自台湾
改用Token机制
我来自梅州 
@我来自台湾 台湾哥 Exception ex 
ex 与
ex.ToString有区别吗
我来自台湾
我来自台湾
磁力线
我还是想分成2个工程写 
夜藍
我们调用web api都没问题
我来自梅州 
Exception ex
直接打印ex
和打印ex.ToString()
有区别吗
夜藍
两个项目
我来自台湾
打印 是指?
Debug
没有Exception ex哪来的ex.tostring()
我来自台湾
Console.Write?
磁力线
@我来自梅州   没区别
磁力线
@夜藍  你的没有跨域问题 ? 
夜藍
不知道你怎么搞出那种问题出来
覆雨剑
应该是ex.tostring()和ex.message有区别
夜藍
我们没报错
我来自台湾
你项目应该是放在同一个服务器目录下
夜藍
你是ajax 访问api?
磁力线
@我来自台湾   那个人为什么两个工程 没这问题呢 
我来自台湾
部属时放在同个位置呀
磁力线
嗯 
我来自台湾
就没跨域问提了
夜藍
不要这么搞
夜藍
后台访问
我来自台湾
磁力线
同一个位置? 
ip 和端口号都弄成一样的? 
我来自台湾
你是经过后台转接
我来自台湾
跟他要的不一样
我来自台湾
@磁力线 你先去科普下 啥是跨域问题吧
我来自台湾
还有解法
夜藍
那试一试jsonp
夜藍
我也没遇到过
我来自梅州 
我一个api报错 ex.Tostring()没有把详细异常输出来
linkin↑park
要想获取所有信息至少写个递归
我来自台湾
jsonp与iframe改代码幅度大
我来自梅州 
本地和测试的都通过
我来自梅州 
正式的报异常
linkin↑park
InnerException知道吗?
我来自梅州 
插入数据的时候验证未通过
覆雨剑
webapi跨域可以通过加请求头的方式解决吧?
夜藍
反正处于开发阶段
我来自台湾
加请求头 就是CORS
我来自台湾
CORS有浏览器支持问题
linkin↑park
你用个日志组件这些都不用你考虑@我来自梅州  
我来自台湾
我来自台湾
这是Exception.cs的ToSTring()方法
我来自台湾
这样明白为啥没打印完整资料吧
磁力线
微信的接口  他们是怎么解决跨域问题的 
夜藍
人家后台调用的
我来自台湾
跨遇问题只发生在浏览器调用
我来自台湾
也就是JS代码
磁力线
那有成熟的解决方案么 
我来自台湾
CORS
我来自台湾
刚说了
我来自台湾
标准
磁力线
我 aspx里调用微信接口 也没有跨域问题啊 
我来自台湾
你是aspx.cs调用吧
我来自台湾
后台
磁力线
前台代码 ,js 调用的 
我来自台湾
你是调用OAuth吧?
磁力线
也没用 OAuth,
就是直接掉的,也没设置啥 
夜藍
浏览器跨越是不推荐的,好像有安全限制。
你可以js传递参数到后台再访问API
磁力线
如果我把所有的js 封到一个文件里,然后放到webapi服务器,另一个工程引用这个js文件,是不是就没有跨域问题了 ?  
我来自台湾
是的
夜藍
jsonp
磁力线
微信好像这么做的 
我来自台湾
放在同一个目录下
磁力线
哦 
我来自台湾
维信这么做??
磁力线
那我这么用吧,这样估计最简单了 
我来自台湾
你写的项目能跟维信放在一起?
磁力线
刚才没想明白 
我来自台湾
建議你有空還是科普下啥是跨域
我来自台湾
為啥會有跨域問題
我来自台湾
還有解法
我来自台湾
如果你要做前後台分離
我来自台湾
這問題勢必存在
我来自台湾
你現在項目允許 
我来自台湾
但在一些項目可能就沒法這樣做
我来自台湾
譬如
我来自台湾
前台整不同api
Debug
放到一个工程里面
Debug
啥都解决啦
我来自台湾
是呀 又回到原點了....
Debug
iis上不要部署两个
我来自台湾
所以昨天才說 時間趕就先不用管項目分離
Debug
很麻烦
我来自台湾
直接並在同個項目即可
我来自台湾
用MVC
我来自台湾
不用Web api
我来自台湾
還能避免Session問題
夜藍
看他以后还有不有其他平台调用这些东西
我来自台湾
估計現在應該是不會考量這些
夜藍
没的话就不要搞这些分离

相关问题
请问一下 怎么让表单 submit提交失效】 return false;false;你百度 html js 取消默认行为
jquery快被淘汰吗???听别人说的,不知道真的假的?】 煮的;jquery可以优化,但不可能淘汰,5年之内;淘汰不了的
jquery 获取上传图片的信息是这样获取的吗$("#flie").val();】 是吗?感觉这是js获取的方法呢比较像原生的
EasyUI我用js的方式创建treegrid,为什么不显示子节点?】 我也觉得这东西bug太多了不好用啊兼容头疼;
------分隔线----------------------------
赞助商链接
赞助商链接