PHP Ajax获取所有链接并逐一显示它们

时间:2016-03-27 14:47:39

标签: php ajax curl foreach switch-statement

我想从网站中提取所有链接并逐一显示,直到所有链接都被划伤。

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;一个接一个。

1 个答案:

答案 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);
      }
         });
}