时间:2021-05-26
通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径“/test”的函数。下面把具体解决方案介绍如下。
后台处理路径“/test”的函数:
复制代码 代码如下:
//路径处理
app.get("/test",user.test);
//处理函数
exports.test=function(req,res){
res.end("alert('JS跨域访问')");
};
外部有一个网页需要访问路径”/test“下的内容,则可以通过JS脚本文件来跨域访问:
复制代码 代码如下:
//处理函数
<script>
function method(data){
console.log(data);
}
</script>
//跨域访问
<script src="http://localhost:3000/test"></script>
结果会在当前的网页中弹出一个窗口:
jQuery中JSONP跨域访问的实现:
同样在后台有一个处理路径“/test”的函数:
//路径处理app.get("/test",user.test);//处理函数exports.test=function(req,res){ res.end("method("+JSON.stringify({mes:"跨域访问成功!"})+")");}; 外部有一个网页需要访问路径”/test“下的内容,通过JSONP来实现跨域访问://引入跨域访问中的jQuery函数库<script src="http://localhost:3000/js/jquery-1.9.1.min.js"></script>//jQuery中JSONP跨域访问<script> $.ajax({ url:"http://localhost:3000/test", type:"get", success:function(data){ $("body").append(data.mes); }, dataType:"jsonp", jsonpCallback:"method" });</script>结果会在当前的网页中显示如下信息:
通过上述代码我们可以看出JSOPN跨域访问和原始的JS跨域访问的不同之处是JSONP不需要写处理跨域访问的函数(例如上述方法中使用的method函数),在JSONP跨域访问时会自动帮我们创建处理跨域访问的函数。
JSONP跨域访问的优点:
1.它不像XMLHTTPRequest对象实现的AJAX请求那样受到同源策略的限制;
2.它的兼容性更好,不需要XMLHTTPRequest或ActiveX的支持;
3.在请求完成后可以通过调用callback的方法传回结果。
JSONP跨域访问的缺点:
1.它只支持GET请求而不支持POST及其他类型的请求;
2.它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近有Mac用户发现mac存在跨平台字体兼容性问题,那么mac跨平台字体兼容性问题怎么解决呢?跟着小编一起来看看mac跨平台字体兼容性问题解决方案。mac跨平台
先看解决方案#------------mysqlroot用户无法赋权问题解决--------1,登录mysql-uroot-p2,usemysql;选择mysq
在自己页面显示其他网站上面的数据,需要用Ajax,就涉及到跨域问题,解决方案:jQuery.support.cors=true;(浏览器支持跨域访问),实例:复
问题:使用keep-alive标签后部分安卓机返回缓存页位置不精确问题解决方案:constrouter=newRouter({scrollBehavior(to
本文介绍了webpack开发跨域问题解决办法,分享给大家,具体如下:1.说明webpack内置了http-proxy-middleware可以解决请求的URL代