VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

如何跨域实现DedeCMS digg Ajax

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

如何跨域实现DedeCMS digg Ajax

如何跨域实现dedecms digg ajax?

由于web项目中二级域名的使用,原有的digg无法正常使用。经过仔细分析,发现Ajax JS提交无法跨域。

推荐学习:梦想编织cms

提供以下解决方案:

@ e通中国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文件中写入:

& lt脚本语言= & quotJavaScript & quot& gtfunction _ Digg(type,tid){ var s = document . createelement(& quot;脚本& quot);s.id = & quotcgi _情感_列表& quot;document . getelementsbytagname(& quot;HEAD & quot)[0].appendChilds.src = & quothttp://www.xxx.com/../dig.php?类型= & quot+type+& quot;& amptid = & quot+tid;//src}函数访问计数回调(数据){document。getelementsbytagname(“HEAD & quot;)[0].remove child(document . getelementbyid(& quot;cgi _情感_列表& quot));for(var I in data){ var e = document . getelementbyid(I);if(e)e . innerhtml = data【I】;//修改本地HTML的一些代码} }《/script & gt;修改下面的代码:Top it。

赞成:算了吧。

2.访问远程文件:

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

visitCountCallBack({ & quot;访问帐户& quot:135 });上述代码相当于远程文件调用本地函数:visitCountCallBack。

这样,可以通过使用远程返回的数据来动态修改本地文件。

3.总结:

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

我这里有一个类似AJAX的应用程序,关键技术在

请看下面的HTML代码。

& ltHTML & gt& ltHEAD & gt& lttitle & gt异步json示例

此代码:

var s = document . createelement(& quot;脚本& quot);s.id = & quotcgi _情感_列表& quot;document . getelementsbytagname(& quot;HEAD & quot)[0].appendChilds.src = & quothttp://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg? uin = 123456 & quot;;浏览器通过DOM解析获得脚本元素,然后添加ID和SRC属性。以下是W3C规范中script元素的SRC属性的官方解释:SCRIPT元素允许作者在其文档中包含动态脚本。设置src属性时,脚本元素引用外部文件。属性的值必须是URI(或IRI)。如果没有设置src属性,则脚本由元素的内容给出。解读:如果定义了脚本标签的SRC属性,则脚本标签涉及外部文件,属性值必须是URL。也就是说,脚本将从这个URL引用文件的内容。每个人都在浏览器中访问这个连接:http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?. Uin = 123456这个类似JAVA的SERVLET的URL返回以下数据:访问计数回调({“访问计数“:65188579,“日访问“:8658,“spacemark“:0,“标记更改“:0,“sun“:1680,“love“:478,“rain“:1680,“nutri“:1450,“level“:5,“gardener“:1 });这个字符串是一个JAVASCRIPT函数,输入是一个JSON字符串。当返回这些数据时,会调用上面的另一个JAVASCRIPT函数:函数访问计数回调(数据){

document . getelementsbytagname(& quot;HEAD & quot)[0].remove child(document . getelementbyid(& quot;cgi _情感_列表& quot));for(var I in data){ var e = document . getelementbyid(I);if(e)e . innerhtml = data【I】;将}}函数中innerHTML栏返回的JSON数据填充到正文中,实现了无需刷新页面即可获取数据的异步效果。还有另一个关键问题:http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?. Uin = 123456是一个URL(Uin QQ空间(Uin是一个QQ号码,因此您可以尝试自己的QQ号码)),JAVASCRIPT从其他域调用数据。这种获取数据的方式比较简单,而且可以跨域访问数据,比较适合一些简单、小的无刷新效果。我有点担心,如果有一天浏览器更新了,这种访问方式被拒绝,那么通过这种方式获得的数据可能会变得无法使用。我建议你谨慎使用这种方法!!!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:如何跨域实现DedeCMS digg Ajax https://zhujicankao.com/114391.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 如何跨域实现DedeCMS digg Ajax
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!