手机版

jquery thinkphp实现跨域数据捕获方法

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

本文通过一个实例讲述了jquery thinkphp跨域数据捕获的方法。分享给大家参考,如下:

今天,我们将做一个远程捕获数据的功能。请记住,jquery可以使用Ajax远程捕获数据,但不能跨域捕获。我在网上搜索了很多。但我觉得还是比较全面的,所以现在觉得把简单的问题复杂化了,但至少目前已经解决了:

跨域捕获数据到本地数据库,然后异步更新的效果

我认识到的方式是:jquery是$。post将数据发送到服务器后台,后台由PHP代码远程抓取,存储在数据库中,ajax将数据返回给前台,前台用JS接收并显示数据。

//从远程$ ('# update _ ac ')检索数据。单击(function(){ $ username=$(' # username ')。text();$(' #交流,#排名,#提交,#求解,#求解2,#求解3 ')。ajaxStart(function(){ $(this))。html(' span class=' loading 2 '/span ');});$.post(' update _ AC/username/' $ username,{},function($ data){ JSON=eval '(' $ data '));$(' #提交')。html(JSON . data . submit);$('#AC ')。html(JSON . data . AC);$('#solved,solved2,#solved3 ')。html(JSON . data . soled);$('#rank ')。html(JSON . data . rank);}),' JSON ';});上面的jquery代码在四楼比较清晰,让我纠结的是json数据的接收

JSON=eval('(' $ data ')');//eval()函数可以计算一个字符串,并在其中执行JavaScript代码。其实这还是前台,跨域爬行是用php的扩展simple_html_dom完成的(不知道的可以在线搜索,基于PHP5开发)

将远程页面抓取到本地。

导入(' @ . org . simple _ html _ DOM ');//把扩展名导入//thinkphp,应该把网上下载的代码重命名为simple_html_dom.class.php,放在APPNAME \ Lib \ ORG $ html=file _ get _ html(' http://openoj.awaysoft.com/judeonline/userinfo.php?用户='的目录下。$ username);//远程检索到$ ret=$ html-find ('center ',0)-明文;//返回数据。以上代码只是核心代码,还有很多simple_html_dom扩展的功能。自己去发现。

返回的数据是一个字符串,然后使用正则表达式来过滤所需的数据。以下是效果图

更多对thinkPHP感兴趣的读者,请查看本网站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》、《PHP模板技术总结》、0103010。

希望本文对基于ThinkPHP框架的PHP编程有所帮助。

版权声明:jquery thinkphp实现跨域数据捕获方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。