1

HTML :

<a href="/profile.php?user={$username}&action_request="friend_request">
Friend request
</a>

PHP :

if(isset($_GET['user']) && isset($_GET['action_request'])) {
     if(strcmp($_GET['action_request'],"friend_request") == 0) {
        insert_friendship($id_user1,$id_user2);
   }
}

and the function for insert is :

  //sql string
   if(sql_insert()) {
      return "Friendship request sent!";
      } else {
       return "Friendship request failed!"; }

P.S I am using smarty engine for templating.

How do i take the url from <a> tag with ajax and send it to the php page to call the function then ajax to wait for the respond and send it to the html.

4

2 回答 2

2

在您的页面中包含 jquery。

<script type="text/javascript">
    document.getElementById("ajax_a").addEventListner("click", function(e){
        e.preventDefault();
        var uri = document.getElementById("ajax_a").getAttribute("href");
        $.ajax({
            url: uri,
            type: "GET",
            data: {},
            dataType: "html",
            success: function(data){
                // data is the value returned by server.
            },
            error : function(){
                alert("some error occured");
                // data is the value returned by server.
            }
        });
    });
</script>

<a id="ajax_a" href="/profile.php?user={$username}&action_request="friend_request">
Friend request
</a>
于 2012-05-06T16:32:09.240 回答
1

对于使用 ajax,您可以使用 jQuery.ajax() http://api.jquery.com/jQuery.ajax/

并且使用 ajax,你必须在点击<a>标签时调用 ajax 函数,并且必须在 ajax 函数上指定 url。

或者

如果您想从<a>带有 ajax 的标签中获取 url 并将其发送到 php 页面,您将不得不阻止使用该<a>标签的默认点击e.preventDefault();并使用该 url 调用 ajax

尝试这样的事情并解决

$('selector').click(function(){
e.preventDefault();
var url = $(this).attr('href');
$.ajax({
  url: url,
  success: function(data) {
    //do something
  }
});
})

在 $(document).ready() 中调用这个函数。

于 2012-05-06T16:31:00.543 回答