Maison > Article > développement back-end > Comment implémenter l'exploration de données inter-domaines à l'aide de jquery thinkphp
L'exemple de cet article décrit comment jquery thinkphp implémente l'exploration de données inter-domaines. Je voudrais le partager avec vous pour votre référence. Les détails sont les suivants :
Aujourd'hui, je vais créer une fonction de capture de données à distance. N'oubliez pas que jquery peut être utilisé pour capturer des données à distance en utilisant Ajax, mais ce n'est pas le cas. domaines croisés. J'en ai trouvé beaucoup en ligne. Mais je pense qu'il vaut mieux en faire un complet, alors maintenant j'ai l'impression que cela a compliqué un problème simple, mais au moins il a été résolu pour l'instant :
L'effet de la capture de données inter-domaines au niveau local base de données, puis la mettre à jour de manière asynchrone
La façon dont je l'implémente : le $.post de jquery envoie les données en arrière-plan du serveur, et le code PHP en arrière-plan effectue une récupération à distance, l'enregistre dans la base de données, ajax renvoie les données à la réception, et la réception utilise JS pour accepter les données et les afficher.
//远程抓取获取数据 $("#update_ac").click(function() { $username = $("#username").text(); $("#AC,#rank,#Submit,#solved,#solved2,#solved3").ajaxStart(function(){ $(this).html("<span class='loading2'> </span>"); }); $.post("update_ac/username/"+$username,{},function($data){ json = eval("(" + $data + ")"); $("#Submit").html(json.data.Submit); $("#AC").html(json.data.AC); $("#solved,#solved2,#solved3").html(json.data.solved); $("#rank").html(json.data.rank); } ),"json"; });
Le code jquery ci-dessus est relativement clair au quatrième étage. Ce qui me dérange c'est la réception des données json
json = eval("(" + $data + ")"); //eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。En fait, il s'agit toujours de la réception. L'exploration inter-domaines se fait à l'aide de l'extension PHP simple_html_dom (si vous n'êtes pas sûr, vous pouvez effectuer une recherche en ligne, elle est développée sur la base de PHP5) Exploration des pages distantes. au local.
import("@.ORG.simple_html_dom"); //thinkphp内导入扩展,你要把网上下载的代码改名为simple_html_dom.class.php放到APPNAME\Lib\ORG的目录下面 $html = file_get_html('http://openoj.awaysoft.com/JudgeOnline/userinfo.php?user='.$username); //远程抓取了 $ret = $html->find('center',0)->plaintext; //返回数据了。Le code ci-dessus n'est que le code de base, simple_html_dom a de nombreuses fonctions étendues. Découvrez par vous-même. Les données renvoyées sont une chaîne, puis utilisez des expressions régulières pour filtrer les données requises. Voici le rendu J'espère que cet article vous aidera. La programmation PHP de chacun basée sur le framework ThinkPHP est utile. Pour plus de méthodes jquery thinkphp pour réaliser une exploration de données inter-domaines et des articles connexes, veuillez faire attention au site Web PHP chinois !