千家信息网

DedeCMS digg Ajax 跨域如何实现

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关DedeCMS digg Ajax 跨域如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。DedeCMS digg Ajax 跨域怎么实现?因
千家信息网最后更新 2026年11月02日DedeCMS digg Ajax 跨域如何实现

这篇文章给大家分享的是有关DedeCMS digg Ajax 跨域如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

DedeCMS digg Ajax 跨域怎么实现?

因为web项目用到二级域名的原因,使得原先的digg不能正常使用。仔细分析后,发现是Ajax JS提交不能跨域的问题。

提供解决方案如下:

@writen by etongchina 2009-02-06 19:00

实现方案:类似json实现

实现原理:js允许引入的远程文件(js)来操作本地数据

具体方法:(以http://news.xxx.com/200812/25-4653.html 为例)

1.修改http://news.xxx.com/200812/25-4653.html 的js调用用部分;

在本地html或js文件中写入:

修改以下代码:顶一下

为:顶一下

2. 访问远程文件:

远程文件(http://www.xxx.com/../dig.php?type=digg&tid=456 )返回类似代码:

visitCountCallBack({ "visitcount":135 });

以上代码相当于远程文件调用本地函数:visitCountCallBack

这样一来就可以实现利用远程返回数据来动态修改本地文件。

3.总结:

关于此方案,目前可行,也有人认为会过时。我认为不会产生JS越权的问题。

我这里有一个类似AJAX应用,关键技术是在
历史访问人数:点击test按钮获取数据
今天访问人数:点击test按钮获取数据
阳光指数:点击test按钮获取数据
爱心指数:点击test按钮获取数据
雨露指数:点击test按钮获取数据
营养指数:点击test按钮获取数据
花匠级别:点击test按钮获取数据

大家可以把上面的代码拷贝到本地用IE或FIREFOX打开.点击按钮。发现不刷新页面,实现了动态的效果,而且返回的数据是跨域得到了,大家知道JAVASCRIPT是不能跨域访问的,很奇妙吧。。。。仔细研究代码发现了其中的奇妙之处

这段代码:

 var s = document.createElement("SCRIPT"); s.id="cgi_emotion_list"; document.getElementsByTagName("HEAD")[0].appendChild(s); s.src="http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456";

浏览器通过DOM解析得到了SCRIPT元素,然后添加了ID和SRC属性。我这里是W3C规范中对SCRIPT元素SRC属性的官方解释:The script element allows authors to include dynamic script in their documents. When the src attribute is set, the script element refers to an external file. The value of the attribute must be a URI (or IRI). If the src attribute is not set, then the script is given by the contents of the element. 解释为:如果定义了SCRIPT标签的SRC属性,SCRIPT标签涉及到一个外部文件,属性值必须是一个URL。也就是说SCRIPT将从此URL引用文件的内容。大家在浏览器中访问此连接:http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456这个类似JAVA的SERVLET的URL返回以下数据:visitCountCallBack({"visitcount":65188579, "dayvisit":8658, "spacemark":0, "markchange":0, "sun":1680, "love":478, "rain":1680, "nutri":1450, "level":5, "gardener":1});这个字符串是一个JAVASCRIPT函数,输入是一个JSON字符串。这个数据返回的同时调用了上面的另一个JAVASCRIPT函数:function visitCountCallBack(data){

document.getElementsByTagName("HEAD")[0].removeChild(document.getElementById("cgi_emotion_list")); for(var i in data){ var e =document.getElementById(i); if(e) e[xss_clean]=data[i]; } }

函数中用innerHTML吧返回的JSON数据填充到BODY中,实现了不刷新页面得到数据的异步的效果。 还有一个关键的问题:http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456是QQ空间的一个URL(uin是QQ号码,大家可以输入自己的QQ号码试试),JAVASCRIPT调用了其他域的数据。 这样的方式得到数据比较简单,也能跨域访问数据,比较适合一些简单的,小的无刷新的效果。 本人有些担心的是,如果哪天浏览器一更新,拒绝这种访问方式,可能这样得到数据就变得不可用了,建议大家谨慎使用这种方法!!!

感谢各位的阅读!关于DedeCMS digg Ajax 跨域如何实现就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 代码 按钮 文件 属性 函数 指数 内容 效果 方案 标签 浏览器 问题 页面 浏览 奇妙 人数 元素 关键 动态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 互联网核心科技是什么 互联网科技垄断 迪茉互联网科技 电子科技大学互联网 有木互联网科技 互联网 科技服务平台 甘肃拓世互联网科技有限公司 中国最先进互联网科技公司 汉立互联网科技有限公司联系电话 老年人脱离互联网科技的作文 互联网科技公司需要的职位 知域互联网科技有限公司大骗子 江阴互联网智能科技产品进口 工业互联网等科技实现智能化赋能 宁波跨境商互联网科技有限公司 广州梦谷互联网科技有限公司领导 容联科技互联网电商 保山互联网科技靠谱吗 科技互联网专业务虚会材料 湖北九亚互联网络科技有限公司 广州淘业互联网络科技 科技创新与互联网经济 关于新基建和互联网科技 平安科技 互联网 西安互联网科技公司 互联网 科技服务平台 和信科技工业互联网 深圳互联网科技的发展 安徽零酒互联网科技有限公司
0