关于js跨域
get方式:
称为jsonp,就是js的跨域通信方式,因为知道有些标签可以跨域获取内容,例如img,script,link...,jsonp就是把动态创建一个script标签,然后配置src属性,后台代码返回的时一个函数,称之回调函数,后台完成业务后,调用下面这个AjaxHandleCrossDomainFormat()来返回一个要回调函数,后台执行完成后并返回此js代码,然后调用js的success_jsonpCallback方法,因为ajax封装好了,所以直接在参数[jsonpCallback]处写这个方法的名称即可,至于ajax中jsonp这个参数就类似于url中的ID=1,在这里时callback=success_jsonpCallback(),这些名字可以随便改,实现跨域也可以用iframe之类的,也可以不用ajax,动态创建一个script标签,把网址赋进去,然后本地在写一个方法,后台返回值就是这个方法,他自己就会调用,
还有,了解到,jsonp作为一种数据传输方法,和ajax的意义是相冲突的,本身jsonp是不应该集成在ajax中的,跨域的简单笔记完成~
private string AjaxHandleCrossDomainFormat(string Json, string callbackparam = null)
{
if (callbackparam == null)
{
return "success_jsonpCallback([" + Json.Replace(@"\n", "").Replace("\"", "'").Replace(@"\", "") + "])";
}
else
{
return callbackparam + "([" + Json.Replace("\n", "").Replace("\"", "'").Replace(@"\", "") + "])";
}
}
ajax:
$.ajax({
type: "post",
url: "http://myesn.cn/remote.js",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "success_jsonpCallback",
success: function (data) {
console.trace();
console.log(data.result);
},
error: function (msg) {
console.log(msg.statusText);
}
});
Post方式:
添加IIS的mime类型,添加以下三个就可以了,改变Access-Control-Allow-Origin 就可以限制来访的网址
Access-Control-Allow-Headers:*
Access-Control-Allow-Methods:POST
Access-Control-Allow-Origin:*
关于js跨域的更多相关文章
- 5种处理js跨域问题方法汇总(转载)
1.JSONP跨域GET请求 ajax请求,dataType为jsonp.这种形式需要请求在服务端调整为返回callback([json-object])的形式.如果服务端返回的是普通json对象.那 ...
- JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- 前端Js跨域方法汇总—剪不断,理还乱,是跨域
1.通过jsonp跨域2.通过修改document.domain来跨子域(iframe)3.隐藏的iframe+window.name跨域4.iframe+跨文档消息传递(XDM)5.跨域资源共享 C ...
- 【js跨域】js实现跨域访问的几种方式
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- 【前端】【转】JS跨域问题总结
详情见原博客:详解js跨域问题 概念:只要协议.域名.端口有任何一个不同,都被当作是不同的域. 跨域资源共享(CORS) CORS(Cross-Origin Resource Sharing)跨域资源 ...
- js跨域访问,No 'Access-Control-Allow-Origin' header is present on the requested resource
js跨域访问提示错误:XMLHttpRequest cannot load http://...... No 'Access-Control-Allow-Origin' header is prese ...
- 利用JS跨域做一个简单的页面访问统计系统
其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况.但是有些时候,由于一些特殊情况,我们 ...
- 三种方法实现js跨域访问
转自:http://narutolby.iteye.com/blog/1464436 javascript跨域访问是web开发者经常遇到的问题,什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档 ...
- js跨域问题的解决
js提交请求给别的应用实例或者别的服务器,由于同源策略,存在js跨域的情况,我所知道两种处理方式: 1.jquery ajax+jsonp <script type="text/jav ...
- JS 跨域问题浅析及解决方法优缺点对比(转)
1.所谓 JS 跨域问题,是指在一个域下的页面中通过js访问另一个不同域下 的数据对象, 出于安全性考 虑,几乎所有浏览器都不允许这种跨域访问,这就导致在一些ajax应用中, 使用跨域的web ser ...
随机推荐
- USACO5.4-TeleCowmunication
题目大意:给出一个无向图,要求删除尽量少的点,使给定的2点间不再连通,并输出字典序最小的方案题型:图论-网络流此题难点在于建图,后面就是套网络流的模板.将点看成边,例如第i个点可以看成一条有向边< ...
- android 06
1.android原理 菜单-->MainActivity-->onCreate-->setContentView(R.layout.item)-->layout(item.x ...
- underscorejs-invoke学习
2.13 invoke 2.13.1 语法: _.invoke(list, method, *args) 2.13.2 说明: 每个list属性值都执行method方法,根据method方法返回一个数 ...
- MYSQL管理之主从同步管理 转载
MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重要,新手往往在出现主从同步错误的时候不知道如何入手,这篇文章就是根据自己的经验来详细叙 ...
- debian小巧好看的桌面
先看完,不然,你一定会后悔的..不好看,你打我.. sudo apt-get install xfce4 sudo apt-get install xfce4-goodies sudo apt-get ...
- Tomcat中配置多个端口
在tomcat的conf/server.xml中,配置多个端口,如下: <?xml version="1.0"?> <!--应用1,端口port="80 ...
- laravel框架——composer导入laravel
第一种: composer create-project --prefer-dist laravel/laravel 名称 "5.2.*"第二种: composer global ...
- 其实,SSL也不是配通了就什么都不管的~~
其中太多的中间人攻击需要去加强加固~~ 测试过A级是必须的!! https://www.ssllabs.com/ssltest/ 这网址两年前,我写过的哈
- 【HDOJ】1277 全文检索
AC自动机,静态数组,动态分配TLE. /* 1277 */ #include <iostream> #include <cstdio> #include <cstrin ...
- Linux&shell之显示数据
写在前面:案例.常用.归类.解释说明.(By Jim) 2>将STDEER输入到一个文件1>将STDOUT输入到一个文件&>将STDEER和STDOUT输入到同一个文件 在脚 ...