使用jQuery和Ajax在href中捕获并发送参数

时间:2018-09-18 09:04:25

标签: javascript jquery ajax

我有以下HTML链接代码

<div id="message"></div>
<a href="cats.php?id=60&color=brown&name=kitty" id="petlink">
Click here
</a>

使用jQueryAjax,然后单击此链接,我想发送这些参数

id=60
color=brown
name=kitty

到文件find.php中,该文件将使用$_GET作为

来捕获这些参数
<?PHP
    $id    = $_GET['id'];     // 60
    $color = $_GET['color']; // brown
    $name  = $_GET['name']; // kitty

// doing some searching in database

echo "yep found it"; // or whatever i would print
?>

,并将以在此echo "yep found it"之间显示的任何内容(例如div)作为回应。  <div id="message"></div>

我已经阅读了许多教程,但是所有人都在谈论表单数据提交,但是不幸的是我没有找到这种情况,因此任何帮助都将使其真正适用。

2 个答案:

答案 0 :(得分:2)

要创建此代码,您只需要从click元素的a事件发送AJAX请求即可。您可以通过读取锚点的src属性来检索查询字符串,如下所示:

$('#petlink').click(function(e) {
  e.preventDefault();

  $.ajax({
    url: 'find.php',
    data: this.src.split('?')[1],
    success: function(response) {
      $('#message').text(response);
    }
  });
});

答案 1 :(得分:1)

令人沮丧的是,您需要为标签添加click事件,然后

$('#petlink').click(function(e) {
e.preventDefault();

 $.ajax({
  type:'POST'
  url: 'find.php&pets=1',
  data: this.href.split('?')[1],
dataType:'json',
  success: function(response) {
    $('#message').text(response);
   }
  });
 });

在您的php文件上,只需添加

if($ _ GET ['pets'] == 1)    {

 $id    = $_POST['id'];     // 60
  $color = $_POST['color']; // brown
  $name  = $_POST['name']; // kitty
  echo 'pets came';
  exit;

}