ajax跨域到底是什么意思?能否举个简单例子说明一下

2020-11-19 18:52:48 字数 4339 阅读 9056

1楼:匿名用户

ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的web资源,并根据响应获得外部应用数据。比如我们用ajax访问城市天气预报、ip地址等公共服务接口时,就涉及跨域了。我们请求一个外部服务时,浏览器会基于安全问题拒绝授权访问。

而script、script、iframe标签的src属性就不存在跨域的问题,所以ajax跨域就是利用这一点以及js对json的支持,外部服务只要给ajax的请求响应一段js**或json数据,就能被ajax获取到。

比如jquery的getscript

$.getscript("//pv.sohu.***/cityjson",function()

//**函数执行前,外部服务给响应的js**已被加载到本地,所以可以直接使用。

console.log("cid:"+returncitysn.cid);

console.log("cip:"+returncitysn.cip);

console.log("**ame:"+returncitysn.**ame);});

javascript 跨域是什么意思?给举个例子,怎么实现跨域呢?

2楼:苍龙祸皇

js跨域就是使用js访问iframe里的不同域名下的页面内容

由于处于安全性的考虑,浏览器禁止js跨域访问,想要实现跨域需要那个域名下的网页给予你支持才行(不然安全性就没***了)

具体实现跨域的方法有很多中,你自己上网上找一找吧,有源码的

3楼:匿名用户

需要别人同意,否则不行

4楼:匿名用户

应该说的是javascript**和网页**可以分离编写,就是我们可以把javascript单独写在一个文件中,对网页进行控制。

什么是ajax跨域请求

5楼:匿名用户

假设你有两个站点****a.***和****b.***

在a中用ajax向b发送请求,这就是跨域请求了。

ajax为什么能解决跨域

6楼:今天我爱的街舞

不仅仅是ajax,ajax只是异步通信方式,你用同步的方式也可以实现跨域。

所以和是不是ajax没毛线关系。

什么是跨域:

浏览器对于javascript的同源策略的限制,例如a.**下面的js不能调用b.**中的js,对象或数据(因为a.**和b.**是不同域),所以跨域就出现了.

上面提到的,同域的概念又是什么呢??? 简单的解释就是相同域名,端口相同,协议相同

jsonp:

jsonp全称是json with padding,是为了解决跨域请求资源而产生的解决方案,是一种依靠开发人员创造出的一种非官方跨域数据交互协议。

一个是描述信息的格式,一个是信息传递双方约定的方法。

jsonp的产生:

1.ajax直接请求普通文件存在跨域无权限访问的问题,不管是静态页面也好.

2.不过我们在调用js文件的时候又不受跨域影响,比如引入jquery框架的,或者是调用相片的时候

3.凡是拥有src这个属性的标签都可以跨域例如

4.如果想通过纯web端跨域访问数据只有一种可能,那就是把远程服务器上的数据装进js格式的文件里.

5.而json又是一个轻量级的数据格式,还被js原生支持

6.为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作jsonp,该协议的一个要点就是允许用户传递一个callback参数给服务端,

demo1:基于script标签实现跨域

举个例子:我在http://study.**/json/jsonp/jsonp_2.html下请求一个远程的js文件

不通域的请求

被请求的数据,远程js的**

这样就实现跨域成功了,因为服务端返回数据时会将这个callback参数(message)作为函数名来包裹住json数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

再写一个

demo2:基于script标签实现跨域

让远程js知道它应该调用的本地函数叫什么名字,只要服务端提供的js脚本是动态生成的就好了,这样前台只需要传一个callback参数过去告诉服务端,我需要*****,于是服务端就会得到相应了.

例如 在http://study.**/json/jsonp/jsonp_3.

html页面请求http://192.168.

31.137/train/test/jsonpthree

上面说明了只要有src属性的都可以实现跨域请求,这个你应该清楚,当你引用某种js框架的时候不就是跨域了嘛,比如你引用谷歌juqery.js。

demo3:基于jquery跨域

那么如何用jquery来实现我们的跨域呢???jquery已经把跨域封装到ajax上了,而且封装得非常的好,使用起来也特别方便

如果是一般的ajax请求:

jsonp形式的ajax请求:并且通过get请求的方式传入参数,注意:跨域请求是只能是get请求不能使用post请求

jsonp 传递给请求处理程序或页面的,用以获得jsonp**函数名的参数名(默认为:callback)

jsonpcallback 自定义的jsonp**函数名称,默认为jquery自动生成的随机函数名

这里**函数就是success

基本上就是这些了,还有iframe标签img标签,都可以,一个是描述信息的格式,一个是信息传递双方约定的方法。这个就算是跨域吧,跨域也就是只是一种格式。

求一个简单的ajax** 来判断跨域是否成功?

7楼:武汉新华电脑学校

1、使用jquery的ajax方法向服务器发送请求的时候,可使用error函数进行错误信息的处理,

一般error函数返回的参数有三个: function(jqxhr jqxhr, string textstatus, string errorthrown):如

$.ajax(,

error: function (jqxhr, textstatus, errorthrown)

});可以通过返回状态值判断是否请求成功

2、现在各浏览器都有开发者工具(大多数f12调用),看***work请求

ajax是什么?ajax的交互模型?ajax跨域的解决办法

8楼:夏冰

1.ajax即“asynchronous javascript and xml”(异步javascript和xml),是指一种创建交互式网页应用的网页开发技术。

ajax = 异步 javascript和xml(标准通用标记语言的子集)。

ajax 是一种用于创建快速动态网页的技术

2.你可以参看:http://blog.csdn.***/chenmoquan/article/details/38560649

3.1). 通过修改document.

domain和隐藏的iframe来实现跨域请求。这种方案可能是最简单的一种跨域请求的方案,但是它同样是一种限制最大的方 案。首先,它只能实现在同一个顶级域名下的跨域请求;另外,当在一个页面中还包含有其它的iframe时,可能还会产生安全性异常,拒绝访问。

2).通过请求当前域 的**,由服务器 **去访问另一个域的资源。xmlhttprequest通过请求本域内的一个服务器资源 ,将要访问的目标资源提供给服务器,交由服务器 去**访问目标资源。

这种方案,可以实现完全的跨域访问,但是开发,请求过程的消费会比较大。

谁能给出一个ajax跨域传值的例子啊!!!!急急急急急!!!!

9楼:匿名用户

------------------

http://manage.e0757.**/222.txt文件内容

var ojb = ;

前端开发中,什么时候会遇到跨域情况,还有,jsonp和ajax是什么关系?jsonp原理不是动态添

10楼:匿名用户

您好!很高兴为您解答问题:

简单的举个例子,您在本地用ajax访问您服务器上面的数据,这个时候浏览器就会告诉您一个错误,提示跨域了;

jsonp原理:我们知道里面的这个src既可以是本地的,也可以是别人的,这样能引入到我们自己的**里边,这样我们拿过来就能使用了;

jsonp和ajax的关系:他两之间并没有什么必然的联系,ajax不跨域的时候使用,jsonp跨域的时候使用;两者相同点就是异步去获取数据。望采纳

11楼:享___逝去

跨站点访问就会出现跨域的问题

感情饱和期到底是什么意思?哪个高手来给我解释一下

1楼 百度用户 饱和 就是事物在某个范围内达到最高限度 也就是 感情到了最大限度 在也承受不了爱雅论坛 招聘版主 iy36 拿什么来诠释这些年的感情 是什么意思 2楼 酷野飞飞 我对你的话表面意思解释一下 他没感觉到你对他的爱和付出,就说是你没对他在感情上付出让他感动的行动 在一起生活没意思,没什么...