html Js跨域提交数据

MVC实现方式:

  

[ActionAllowOrigin]
[HttpPost]
public JsonResult Cooperation()

return json();

在方法前面加上[ActionAllowOrigin] 这个方法是自定义的继承自AuthorizeAttribute

public class ActionAllowOriginAttribute : AuthorizeAttribute
{
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
{
var origin = filterContext.HttpContext.Request.Headers["Origin"];
filterContext.HttpContext.Response.AppendHeader("Access-Control-Allow-Origin",origin);
}
}

这样就支持跨域了;调用方法如下:

function test()
{
$.ajax({
url: "http://www.baidu.com/KnotHireManger/Cooperation",//这里是提交url
type: "post",//jsonp必须是get方式,post不支持,注意
// dataType: "json",
data: {name:$("#Name").val(),Phone:$("#Phone").val()},
success: function (msg) {
console.log(msg)
}
}

//问题:

如果遇到浏览器不支持的话就把origin换成*号 如下:

filterContext.HttpContext.Response.AppendHeader("Access-Control-Allow-Origin","*");

时间: 2024-11-17 04:06:51

html Js跨域提交数据的相关文章

js跨域请求数据的3种常用的方法

由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求.那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理:1.JavaScript   在原生js(没有jQuery和ajax支持)的情况下,通常客户端代码是这样的(我假设是在localhost:8080的端口下的http://localhost:8080/webs/i.mediapower.mobi/wutao/index.html页面的body标签下面加入以下代码): <script

JavaScript跨域提交数据

1.通过jsonp跨域    场景:假设前台有JS方法"crossJS", 1.1发送请求http://www.xxx.com/?callback=crossJS.(创建一个script标签,请求该地址) 1.2后台服务器,返回数据格如crossJS({"a":"b"}); 优点:开发.维护简单 缺点:每次可提交数据大小受get方式限制 2.使用HTML5中新引进的window.postMessage方法来跨域传送数据   场景: 页面http:

代替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.

ajax 跨域提交数据

$.ajax({ url:"http://my.demo.com/jsonp/server.php",//不同域的文件; cache: false, //是否使用缓存; error: function () { }, //错误时执行的方法; jsonp: "callback", //跨域必填参数,回调函数名,对应服务器文件中$_GET['callback']; dataType: "jsonp", // 跨域必填参数,声明jsonp 传输; su

js跨域提交表单【详细教程,包解决】

下面是前台js代码部分 $.ajax({ url: "http://tttcuxiao.uz.taobao.com",<span style="white-space:pre"> </span>//这里是提交url例子链接 type: "get",<span style="white-space:pre"> </span>//jsonp必须是get方式,post不支持,注意 da

CORS 跨域 node |XMLHttpRequest 跨域提交数据 node

node服务端 app.post('/getdata',function(req,res,next){ req.setEncoding('utf8'); res.setHeader('Access-Control-Allow-Origin','*') req.on('data',function(str){ var json = JSON.parse(str||"{}") ; console.log(json) }) res.end('already get data') }) scr

使用jQuery实现跨域提交表单数据

我们在WEB开发中有时会遇到这种情况,比如要从A网站收集用户信息,提交给B网站处理,这个时候就会涉及到跨域提交数据的问题.本文将给您介绍如何使用jQuery来实现异步跨域提交表单数据. 在jQuery中,我们使用json数据类型,通过getJSON方法来实现从服务端获取或发送数据,而当要向不同远程服务器端提交或者获取数据时,要采用jsonp数据类型.使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面.服务器端应当在JSON数据前加上回调函数名,以便

Js跨域解决方法总结

本文转载自网易博客 出于安全性的考虑,在AJAX应用中,浏览器通常都会限制跨域提交数据.但由于经常和其他部门有接口对接的业务需求,需要跨域获取数据. IE对于跨域访问的处理是,弹出警告框,提醒用户.如果用户将该网站纳入可信任网站,或者调低安全级别,那么这个问题IE就不会在提醒你.    FireFox等其它非微软的浏览器遇到跨域访问,则解决方案统一是拒绝访问. Huodong.qq.com 下的网站前端要获取act.qzone.qq.com下的接口数据 有3种解决方法 1.服务器端做代理 服务器

js跨域传值取值

工具:require.js 跨域传值--   1.form表单     var action = 提交的url;     //创建表单跨域提交数据     var form = document.createElement("form");     var iframe = document.createElement("iframe");     iframe.id = "id_iframe";     iframe.name = "