js跨域得到问题?

问题描述

所谓js跨域问题,是指在一个域下的页面中通过js访问另一个不同域下 的数据对象,出于安全性考 虑,几乎所有浏览器都不允许这种跨域访问,这就导致在一些ajax应用中,使用跨域的web service会成为一个问题。可是为什么jQuery getScript 可以跨域呢?是什么原理啊?

解决方案

if ( s.dataType === "script" && type === "GET" && remote ) {var head = document.getElementsByTagName("head")[0] || document.documentElement;var script = document.createElement("script");script.src = s.url;if ( s.scriptCharset ) {script.charset = s.scriptCharset;}// Handle Script loadingif ( !jsonp ) {var done = false;// Attach handlers for all browsersscript.onload = script.onreadystatechange = function() {if ( !done && (!this.readyState ||this.readyState === "loaded" || this.readyState === "complete") ) {done = true;success();complete();// Handle memory leak in IEscript.onload = script.onreadystatechange = null;if ( head && script.parentNode ) {head.removeChild( script );}}};}// Use insertBefore instead of appendChild to circumvent an IE6 bug.// This arises when a base node is used (#2709 and #4378).head.insertBefore( script, head.firstChild );// We handle everything using the script element injectionreturn undefined;}即动态创建script标签http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.htmlhttp://505253293.blog.163.com/blog/static/26899167201282655244720/
解决方案二:
jQuery getScript 通过 GET 方式请求载入并执行一个 JavaScript 文件。相当于通过src的形式的导入一个外部的js

时间: 2024-11-03 22:12:10

js跨域得到问题?的相关文章

js跨域请求的5中解决方式

这篇文章主要介绍了js跨域请求的5中解决方式的相关资料,需要的朋友可以参考下     跨域请求数据解决方案主要有如下解决方法: ? 1 2 3 4 5 JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request 分开说明: 一.JSONP: 直观的理解: 就是在客户端动态注册一个函数 function a(data),然后将函数名传到服务器,服务器返回一个a({/*json*/})到客户端运行,这样就调用客户端的 function a(da

Js跨域同步cookie

 Js跨域同步cookie怎么实现 document.cookie = "name=" + "value;" + "expires=" + "datatime;" + "domain=" + "" + "path=" + "/path" + "; secure"; //name Cookie名字 //value Cookie值

后台-thinkphp js跨域问题和session

问题描述 thinkphp js跨域问题和session 用的框架是ThinkPHP我用ajax发送给后台一个信息,(出现跨域错误,于是,我就加上header('Access-Control-Allow-Origin: *');),需要验证session 但是我发现var_export($_SESSION); 是空的 问题:1.在http://localhost/deno/index.php/Home/Index/personal.html 发送到http://127.0.0.1/deno/in

利用JS跨域做一个简单的页面访问统计系统

其实在大部分互联网web产品中,我们通常会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便可以在这些统计系统中看到自己网站页面具体的访问情况.但是有些时候,由于一些特殊情况,我们需要自己来设计统计系统.由于前段时间公司的业务需求,我也是自己尝试了下,本文提供的是一个基本思路,统计系统也比较简单.   几个基本统计需求: 1.统计web每个页面用户访问量 2.统计用户访问者的和IP地址信息 3.页面之间的跳转情况 4.访问高峰时间段   服务器结构: 数据库表设计:    

js跨域的研究

在开发中总是会遇到,接入层可能去调用其它域名下服务的api,crud数据,可是在这中间会出现js的同源策略,导致同一个DOM不能用多个源加载数据,已确保安全性. 在数据远程调用的设计时候,要考虑性能又要考虑安全性,下边为总结的跨域三种实现: 1:使用ACAO('Access-Control-Allow-Origin')设置响应头域名访问-->问题低版本的ie(10及以下)和个别浏览器并不支持. 2:使用jsonp实现跨域数据请求,可以但是,所有的请求会过滤成GET请求,如果安全数据的读写,有不安

angularjs-angular js跨域显示查询结果

问题描述 angular js跨域显示查询结果 页面跟js在一个工程,后台代码在另外一个工程,后台数据查到放在页面的下拉框里.又要实现夸域请求,请大神赐教,方法应该怎么写. 解决方案 http://www.bkjia.com/Javascript/977935.html 解决方案二: 后台提供jsonp数据就可以跨域了,要不需要设置Access-Control-Allow-Origin响应头允许跨域请求,但是需要自己写兼容,ie10-需要用XDomainRequest对象,不是XMLHttpRe

window.opener方法的使用 js跨域

原文:window.opener方法的使用 js跨域 最近公司网站登陆加入了第三方登陆.可以用QQ直接登陆到我们网站,在login页面A中点QQ登陆时,调用了一个window.open文件打开一个login页窗口B,登陆后callback地址回调成功后,需要关闭当前window.open打开的login小窗口B,再将打开这个小窗口的原窗口页(A)刷新显示正确状态. 这时就用到了这个方法: window.opener.location.reload() 与 window.opener.locati

js跨域调用WebService的简单实例_AJAX相关

步骤1.   在web.config中的system.web节点里加入 <!--此节点可允许脚本跨域调用webservice--> <webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols> </webServices> <!--此节点可允许脚本跨域调用webservic

JS跨域解决方案之使用CORS实现跨域_javascript技巧

引言        跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一. 和大多数跨域的解决方案一样,JSONP也是我的选择,可是某天PM的需求变了,某功能需要改成支持POST,因为传输的数据量比较大,GET形式搞不定.所以折腾了下闻名已久的CORS(跨域资源共享,Cross-Origin