主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
如何跨域实现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从其他域调用数据。这种获取数据的方式比较简单,而且可以跨域访问数据,比较适合一些简单、小的无刷新效果。我有点担心,如果有一天浏览器更新了,这种访问方式被拒绝,那么通过这种方式获得的数据可能会变得无法使用。我建议你谨慎使用这种方法!!!
这几篇文章你可能也喜欢:
- 帝国忘记cms密码怎么办?
- 帝国cms会员中心进入方法(帝国cms会员中心进入方法)
- 如何控制dedecms列表页面的缩略图大小(dedecms分页标签)
- dedecms如何去除梦织底层的梦织版权信息
- dedecms5.7 ask模块404现在该怎么办?
本文由主机参考刊发,转载请注明:如何跨域实现DedeCMS digg Ajax https://zhujicankao.com/114391.html
评论前必须登录!
注册