不用jsonp实现跨域请求
这几天要用到跨域请求,我在网上找了好多资料,最后自己研究出来一个比较简单方便的,
请求的过程和jquery普通的ajax一样.我用的是.net平台 ,IIS7.5
来看一下后台的代码,我是用MVC的Controll做数据接口.
接下来是前台代码了:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>主页</title> <script type='text/javascript' src='jquery.js'></script> <script type="text/javascript"> function b() { alert("beginAjax"); $.ajax({ type: "POST", url: "http://api.com/commonAPI/SetReaded?sID=fef&pushID=jkkk", dataType: "application/json", success: function (json) { alert(json); }, error: function (err) { alert('fail'); alert(err.responseText); } }); alert("endAjax"); } </script> </head> <body> <input type="button" id="btn" value="bbb" onclick="b();"/> </body> </html>
代码就这点,然后设置一下IIS的响应头,在里边添加一个键值对:
Access-Control-Allow-Origin
*
然后就能请求了接口并能接收返回的数据了.
为此我花了好长时间尝试,头都大了,现在发上来和大家分享一下,让大家少走弯路.