代替jquery $.post 跨域提交数据的N种形式
跨域的N种形式:
1.直接用jquery中$.getJSON进行跨域提交
优点:有返回值,可直接跨域;
缺点:数据量小;
提交方式:仅get (无$.postJSON)
$.getJSON("http://www.sendnet.cn/?callback=?" , { UserId: 1001 },
function (data) {
alert(data.info);
});
$.ajax({
type: "Get",
url: "http://www.sendnet.cn/?UserId=1001",
cache: false,
error: function () { },
jsonp: "callback",
dataType: "jsonp",
success: function (result) {
alert(result.info);
}
});
2.在页面中嵌入一个iframe,把iframe的宽和高设置为0进行跨域提交
优点:可直接跨域;
缺点:无返回值(脱离ajax本质);
提交方式:get/post
使用隐藏的iframe来提交表单
1,在页面中嵌入一个iframe,把iframe的宽和高设置为0
2.在iframe的里面里设置一个from的表单,表单的内容就是真正要提交的表单内容。
3.当点击按钮的时候是iframe里的表单提交。 <form id="form2" name="form2" method="post" action="a,jsp" enctype="multipart/form-data">
<input name="option_13412" id="option_13412" type="text"/>
<input name="option_13413" id="option_13413" type="text"/>
<input name="option_13414" id="option_13414" type="text"/>
<input name="option_13415" id="option_13415" type="text"/>
</form> 使用jquery来啊操作iframe中的表单元素
$(window.frames["iframe1"].document).find("#option_13412").val(name);
$(window.frames["iframe1"].document).find("#option_13413").val(phone);
$(window.frames["iframe1"].document).find("#option_13415").val(content); 通过按钮来提交iframe里的表单
$(window.frames["iframe1"].document).find("#form2").submit();
3.直接用$.post跨域,先提交到本地域名下一个代理程序,通过代理程序向目的域名进行post或get提交,并根据目的域名的返回值通过代理 程序返回给本地页面
优点:有返回值,可直接跨域,可通过 代理程序 统计ip等用户信息,增加安全性;
提交方式:get/post
复杂度:需要前端工程师和后端工程师配合(php/Java../工程师)
缺点:需要消耗本地服务器资源,增加ajax等待时间(可忽略)
4.向百度学习的思路:由于调用任何js文件不涉及跨域问题,所以js脚本中可以编写调用远程服务器上的js文件,该文件实现你需要的业务。
即a.js动态调用www.baidu.com/b.js ,其中b.js实现业务
5.待研究…………
代替jquery $.post 跨域提交数据的N种形式的更多相关文章
- JavaScript跨域提交数据
1.通过jsonp跨域 场景:假设前台有JS方法"crossJS", 1.1发送请求http://www.xxx.com/?callback=crossJS.(创建一个scr ...
- js跨域请求数据的3种常用的方法
由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求.那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理:1.JavaScript 在 ...
- ajax 跨域提交数据
$.ajax({ url:"http://my.demo.com/jsonp/server.php",//不同域的文件; cache: false, //是否使用缓存; error ...
- html Js跨域提交数据方法,跨域提交数据后台获取不到数据
MVC实现方式:(后台获取不到方法请参考下面js) [ActionAllowOrigin][HttpPost]public JsonResult Cooperation() { return json ...
- jQuery中通过JSONP来跨域获取数据的三种方式
第一种方法是在ajax函数中设置dataType为'jsonp' $.ajax({ dataType: 'jsonp', url: 'http://www.a.com/user?id=123', su ...
- CORS 跨域 node |XMLHttpRequest 跨域提交数据 node
node服务端 app.post('/getdata',function(req,res,next){ req.setEncoding('utf8'); res.setHeader('Access-C ...
- 使用jQuery实现跨域提交表单数据
我们在WEB开发中有时会遇到这种情况,比如要从A网站收集用户信息,提交给B网站处理,这个时候就会涉及到跨域提交数据的问题.本文将给您介绍如何使用jQuery来实现异步跨域提交表单数据. 在jQue ...
- jquery来跨域提交表单
说说用jquery来实现跨域提交表单 在jQuery中,我们使用json数据类型,通过getJSON方法来实现从服务端获取或发送数据,而当要向不同远程服务器端提交或者获取数据时,要采用jsonp数据类 ...
- Ajax 跨域提交表单
跨域提交表单,前端ajax不用做任何修改, 只需要在后端调用的方法里面添加一行代码即可. .NET 版 HttpContext.Response.AddHeader("Access-Cont ...
随机推荐
- 通过代码自定义cell(cell的高度不一致,比如微博)
1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 (先要调用父控件的nitWithStyle:reuseIdentifie ...
- 多个文件下载打包生成zip格式下载
这个多个文件下载生成zip格式必须先引用一个ICSharpCode.SharpZipLib.dll. 代码如下 //将多个文件打包成压缩文件zip格式下载 protected voi ...
- TweenMax学习整理--特有属性
TweenMax学习整理--特有属性 构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...
- 【Android自学日记】五大布局常用属性
线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...
- 如何灵活运用Linux 进程资源监控和进程限制
导读 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工 ...
- sublime注释插件DocBlockr
DocBlockr很好用,不仅仅可以自动生成注释,还可以手动编辑注释的格式. 安装方法: Cmd+Shift+P -> Install Package -> docblockr win ...
- $_SERVER 详情
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 $_SERVER['REMOTE_ADDR'] //当前用户 IP . $_SERVER['REMOTE_HOST'] ...
- No.25
每天三件事必做: 1.背单词: 2.跑步: 3.读书.
- bootstrap - 响应式标题栏
先要拆分: .navbar 先变成相对定位 设置最小高度为50px: 设置底部边距为20px 然后设置一个 透明边框! 边框倒角 4px //@media (min-width:768px) - ...
- WPF之命名空间和资源
1.参考: https://msdn.microsoft.com/zh-cn/library/ms747086(v=vs.110).aspx http://www.cnblogs.com/cww201 ...