我需要从URL提取<div>
中的字符串。我正在使用Ajax和PHP来检索信息。我设法收集了“正确的”数据。
问题是,我正在收集的数据(即数字)在开头是0
,并且在页面完全加载后直接更新为103
或其他随机数。我需要第二个。
这是因为我要检索数据的网站是在ReactJS中创建的,并使用JSX动态更新该数字。
在页面已加载所有内容后,我需要以某种方式获取数据。
长话短说: 在有问题的页面通过javascript加载了其全部内容之后,如何 从URL中获取数据?
我的代码:
/gethtml.php
function curl_get_file_contents($URL)
{
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_URL, $URL);
$contents = curl_exec($c);
curl_close($c);
if ($contents) return $contents;
else return FALSE;
}
function get_number(){
$url = "https://www.example.com";
$html = curl_get_file_contents($url);
$dom = new DOMDocument;
@$dom->loadHTML($html);
$divs = $dom->getElementsByTagName('div');
$compare_string = "someClassName";
foreach ($divs as $div){
$c = $div->getAttribute("class");
if(strpos($c, $compare_string) !== false) {
return $c;
}
}
}
$num= get_number();
echo json_encode(array("value"=>$num));
JavaScript / Ajax
jQuery(document).ready(function( $ ){
$.ajax({
url:"gethtml.php",
type: "post",
dataType: 'json',
data: {},
success:function(result){
console.log(result.value);
}
});
});
视觉示例
答案 0 :(得分:0)
长话短说:您不应手动更新由React控制的“视图”。
即使您在最初呈现页面之后执行代码,组件的state仍可能由于某些原因而发生更改,并且您的更改将再次被覆盖。