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

挿入の関数は次のとおりです。

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

PS私はテンプレートにsmartyエンジンを使用しています。

<a>ajaxでタグからURLを取得し、それをphpページに送信して関数を呼び出し、次にajaxが応答を待って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 uを使用すると、<a>タグをクリックしたときにajax関数を呼び出す必要があり、ajax関数でURLを指定する必要があります。

また

ajaxを使用してタグからURLを取得し、<a>それをphpページに送信する場合は、<a>を使用してタグのデフォルトのクリックを防ぎ、 e.preventDefault();ajaxを呼び出してURLを使用しないようにする必要があります。

このようなことを試して、回避してください

$('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 に答える