我想从网站中提取所有链接并逐一显示,直到所有链接都被划伤。
PHP
$action = $_GET['action'];
switch ($action) {
case 'getlinks':
foreach ($dom->getElementsByTagName('a') as $node) {
$info = $node->getAttribute('href');
$showresult .= '<li>'.$info.'</li>';
}
echo '<ul>'.$showresult.'</ul>';
break;
}
AJAX
function ajaxcall(action, div) {
$.ajax({
type: "POST",
url: "function.php?url=google.com&action="+ action,
data: $(this).serialize(),
success: function(data){
$(div).html(data);
}
});
}
ajaxcall('getlinks', '.getlinks');
HTML
<div class="getlinks"></div>
此代码正在运行,但大量显示所有链接。我需要显示加载&lt;中的每个链接ul&gt;一个接一个。
答案 0 :(得分:-1)
问题是你在php上的文件中捕获了一个方法GET,你的ajax文件在方法POST中。请试试这个:
Node
此外,您的开关条件错误。这是正确的:
ajaxcall('getlinks', '.getlinks');
function ajaxcall(action, div) {
var info = 'action='+action+'&url=google.com';
$.ajax({
type: "POST",
url: "function.php",
data: info,
success: function(data){
$(div).html(data);
}
});
}