社区
Ajax
帖子详情
AJAX跨域跨端口访问的问题
tangdinghua2008
2007-11-27 09:33:55
我现在要访问一个不同域的不同端口的服务器。使它们之间建立连接,是不是不行??
...全文
1634
22
打赏
收藏
AJAX跨域跨端口访问的问题
我现在要访问一个不同域的不同端口的服务器。使它们之间建立连接,是不是不行??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Go 旅城通票
2007-11-29
打赏
举报
回复
你的jsp服务器是tomcat吗?
如果是我也不知道怎么设置tomcat.......
你可以去
jsp版块
去问问怎么设置才不会出现这种问题
tangdinghua2008
2007-11-28
打赏
举报
回复
没人回答.我现在用服务器端脚本来写..JS还是有太多的限制了..
tangdinghua2008
2007-11-28
打赏
举报
回复
我现在正在做一个WEB版IM,
只有我在浏览器这样输入的情况下才会运行正常 http://localhost:8080/project/index.jsp
只要我把localhost改成127.0.0.1就不行了...
有没有人帮忙解决..大家一起提高..
tangdinghua2008
2007-11-28
打赏
举报
回复
而且以前曾经搜索过一些关于跨域资料..
我见到上面谈论FF的时候.他并不支持跨域操作.我不知道这观点对吗?
tangdinghua2008
2007-11-28
打赏
举报
回复
还有人在吗帮我解决问题啊???
其实现在最严重的问题就是跨域传输数据的问题.
或者你们曾经有谁做过WEBIM的..更好啊..
tangdinghua2008
2007-11-28
打赏
举报
回复
其实我今天在做得时候.我就知道了.呵呵.
我也想所有浏览器都有支持.
我想请问一下..JS通过AJAX访问其它域的机器,是否还要经过WEB服务器才行??
tantaiyizu
2007-11-27
打赏
举报
回复
呵呵 ,是你功夫未练到家罢了
何必找什么资料让我看呢
首先你要理解什么是域?
你所理解的跨域又指的是什么呢?
Go 旅城通票
2007-11-27
打赏
举报
回复
下面这片文章自己参考
AJAX跨域问题解决办法
ajax伴随的goole 的推动,越来越多的站点开始使用了,在开大ajax程序的时候会遇到很多的问题,主要有以下几个方面:
1.跨浏览器问题
2.历史后退状态问题
3.跨域问题
跨浏览器的问题因为现在有很多的开元的框架已经解决了,我们无需为此而烦恼。
历史后退状态问题我们可以使用一个数组来保存历史纪录,然后把这些数据村到历史对象中去,中的也可以解决,并且还有很多的开元框架给与支持,这样问题就不是很大。
跨域的问题就不是很好的解决,但是还是有办法的,一下给出一些基本的解决方案供大家选择:
1.使用代理,你可以使用web端的程序编写代理程序,把所有的ajax请求的数据进行转发,web程序可以使php,jsp,asp等所有的编程语言。相信大家对这种方式一定很熟悉,这里就不详细的介绍了。
2.使用iframe的方式来定势的刷新叶面,这种方式只是取得数据来显示,并不能真正的和求得的数据进行交互,转化成本页面的动态数据,不是很可取,应用也不是很多,我也忽略不去讨论了。
3.使用apache的代理功能,主要就是apache的方向代理,或者是url从定向,你也可以把其他的站点直接的挂在自己的网站上,这样的方式可能会友邦权的问题,多的九部介绍了,有兴趣的本有可以自己实践以下。
4.使用《script》标签的方式,这样的话就可以保正使用真正的ajax来跨域,并且可以使用返回来的数据,发誓很简单,在我们的后台程序处理后的到的结果都直接的用javascript 的方式返回,在我们的html中直接的使用返回数据的变量就可以了一个简单的例子
我们使用的html叶面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<SCRIPT LANGUAGE="JavaScript" src="" id="get">
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function get(url)
{
var obj = document.getElementById("get");
obj.src = url;
(obj.readStatus == 200)
{
alert(xml);
}
}
function text()
{
get (get.php);
}
//-->
</SCRIPT>
<BODY>
<INPUT TYPE="button" value="CLICK ME" onclick="test()">
</BODY>
/HTML>
后台程序
get.php
eche 'var xml ="asdf";';
当你点击按钮的时候就会去服务器那去你需要的js,但加在完成后就可以自己的使用变量xml了,运行代码后你会得到一个对话框显示asdf;
Go 旅城通票
2007-11-27
打赏
举报
回复
看你基本的ajax概念都搞不清楚
由于安全方面,ajax是
不能跨域
的好不好,汗.........
Go 旅城通票
2007-11-27
打赏
举报
回复
ajax能访问
不同域的页面
???????
我看你2楼才瞎说
非凡笨笨
2007-11-27
打赏
举报
回复
我没试过这种跨域是否能够成功,不过在ext框架中是提供了方法的~~
tantaiyizu
2007-11-27
打赏
举报
回复
不明白楼上在说些什么?
怎么就不可以请求了?
完全可以直接请求 ,搭建什么代理 ,纯扯淡
Go 旅城通票
2007-11-27
打赏
举报
回复
使用ajax直接访问这个服务器是不可能的
你可以搭建代理服务器
,就是在ajax同一个域名下新建立一个服务器页面,用这个服务器页面访问远程的服务器获取信息后返回给ajax对象,ajax对象访问这个服务器页面获取信息就行了.
Go 旅城通票
2007-11-27
打赏
举报
回复
你给的这个页面没说
ActiveXObject 可以跨域取数据啊???
只是说ie7下面端口不同时算不算跨域
你去baidu看看,没有一个结果说能跨域啊,
http://www.baidu.com/s?tn=max2_cb&ie=gb2312&bs=ajax+ActiveXObject+%BF%E7%D3%F2&sr=&z=&cl=3&f=8&wd=ajax++%BF%E7%D3%F2&ct=0
解决办法就下面几种
在网上提到的方法,不外乎这几种:
1. 如果要获取的数据位于同一个根域但是不同子域时,可以在脚本中指定document.domain为父域。
2. 如果要获取的数据位于不同的根域时,则可以在服务器上写一个脚本作为代理,由服务器上的脚本获取不同域的数据,然后传递给在同一个域中的网页。
3.借用Script的src动态属性,因为src对域没有任何限制,但这种方法的缺点是服务器返回只能是javascript代码,这样的缺陷也就限制了异域名必需是可控的。
下面之中是最新发现的,修改dns记录
我们知道,域名只不过是为了便于人们记忆ip而设立的一个助记符而已,而浏览器判断跨域也只是判断是否在一个子域内,我们完全可以自己定一个dns记录,把一个子域名指向倒我们需要的服务器ip上去。换句话说,我们可以使用一个域名,访问多个服务器。
例如:
我有一个域名是boolean.net.cn,它指向的ip是:69.89.31.51,而我想访问yahoo.com上的数据,我完全可以新建一个dns记录,指向yahoo.com的ip。我通过ping www.yahoo.com.cn获得ip地址为202.165.102.205,在自己的dns记录中新建一个dns记录yahoo,指向他的ip为 202.165.102.205,这样,我访问http://yahoo.boolean.net.cn就相当于访问yahoo网站一样了,这样的话,问题就被转移到同一个子域下的数据获取了。
关于同一个子域下的数据交换,大家可以参考http://www.lhelper.org/tech/communicate_between_domains.html中的解决办法,在这里我就不多说了。
参考页面
1. http://blog.csdn.net/conis/archive/2007/08/05/1726736.aspx
2. http://www.lhelper.org/tech/communicate_between_domains.html
Go 旅城通票
2007-11-27
打赏
举报
回复
如果使用ActiveXObject能跨域取数据,但是ajax设计的时候是不能跨域的
我个人觉得还是按标准的方法来解决比较合理,除非你
所有的用户使用的都是ie浏览器
,要不使用ff或者其他的浏览器不能使用ActiveXObject,只能使用XMLHttpRequest来创建对象的时候你怎么办?
除非你不需要这部分用户了.
tangdinghua2008
2007-11-27
打赏
举报
回复
http://www.7kill.com/simple/t32022.html
我就是通过这里找到。不知道。是不是看错了。。
原话是这样描述的:“看来只要是标准的 XHR 内置对象, 都只支持同一域同一端口下的AJAX访问。。。
不同端口将被限制。只有通过 ACTIVEX 创建的 XHR 对象限制才没这么死。。。至少不同端口
下是正常的。。。 :(”
tangdinghua2008
2007-11-27
打赏
举报
回复
我不知道这是不是就是它的不安全性。。
tangdinghua2008
2007-11-27
打赏
举报
回复
我这里用了就行了。。。直接用ACTIVEOBJECT创建就行了。。。
Go 旅城通票
2007-11-27
打赏
举报
回复
ie的ActiveXObject??
没用过ActiveXObject的跨域,看来自己还真没学到家,汗........
有谁用过ActiveXObject跨域取过数据??我也想看看.........
<<ajax高级程序设计>>我看过,没说ajax能跨域取数据,微软的ActiveXObject就不知道了........
tangdinghua2008
2007-11-27
打赏
举报
回复
有人知道吗。。
加载更多回复(2)
浏览器
跨
域
问题
解约源代码
浏览器
跨
域
问题
产生的原因,如果使用
AJAX
请求调用第三方接口,如果
AJAX
访问
的接口域名和
端口
号与浏览器
访问
的域名
端口
号不一致的情况下,就会产生
跨
域
问题
。(属于浏览器安全策略)
跨
域
不属于前端
问题
解决
ajax
跨
域
问题
【5种解决方案】
什么是
跨
域
问题
?
跨
域
问题
来源于JavaScript的"同源策略",即只有 协议+主机名+
端口
号 (如存在)相同,则允许相互
访问
。也就是说JavaScript只能
访问
和操作自己域下的资源,不能
访问
和操作其他域下的资源。
跨
域
问题
是针对JS和
ajax
的,html本身没有
跨
域
问题
。 查看浏览器开发者工具Console报错: Failed to load http://a.a.com:8080/A/...
ajax
总结(三):
ajax
跨
域
访问
接口方法汇总
ajax
跨
域
访问
接口方法汇总 一.学习
跨
域
之前先要了解: 1.同源和
跨
域
的概念 a.同源:协议头、域名、
端口
全部一样就叫同源; b.
跨
域
:只要协议头,域名,
端口
任意一个不一样就是
跨
域
. 因为
跨
域
的影响,导致浏览器出于安全角度考虑,不允许你用
ajax
(XMLHttpRequest)
访问
跨
域
的资源. 来一张图来说明: (如果使用了
跨
域
,会报&amp;amp;quot;No ‘Access-Control-Allow-Origi...
jQuery实现
AJAX
和
AJAX
跨
域
问题
1、
跨
域
是指从一个域名的网页去请求另一个域名的资源,
AJAX
存在
跨
域
问题
,比如下面从服务器a发送
AJAX
请求到服务器b。2、同源策略是指一段脚本只能读取来自同一来源的资源,同源就是协议、域名、
端口
都相同。后台响应需要获取
AJAX
请求时穿过来的函数名,默认为callback,可以通过。3、在被
访问
中设置响应头来解决
AJAX
跨
域
问题
。dataType : "jsonp"(这里一定要写jsop)4、用jsopn解决
AJAX
跨
域
问题
。二、用
AJAX
实现一个省市联动动态展示功能。一、
AJAX
跨
域
问题
。
AJAX
跨
域
访问
问题
详解
对
AJAX
跨
域
访问
进行了详细的概述;对实际开发中遇见的
问题
进行了深入的刨析和解决。
Ajax
52,797
社区成员
25,305
社区内容
发帖
与我相关
我的任务
Ajax
Web 开发 Ajax
复制链接
扫一扫
分享
社区描述
Web 开发 Ajax
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章