如何使用jquery重新加载所有页面链接

时间:2013-07-20 12:45:07

标签: php jquery ajax

我想创建一些像facebook这样的页面来加载数据而不需要更改页面/标题或页脚中的聊天栏。我知道我可以使用这段代码:

$(function() {
  $("a.load").click(function (e) { 
    e.preventDefault();
    $("#content").load($(this).attr("href"));
  });
});

但我有一个问题。我想给jQuery附加数据,如。

<a href="http://mysite.com/profile123" //for example send-more-data="its-profile-link" //and send even more data like: even-more-data="ID:12235663">go to this profile</a>

所以我可以用这个做更多的事情:

if (send-more-data=="its-profile-link") {
  $id = even-more-data="ID:12235663" //posted on link with jquery
  mysql_Query("select * from users where id =  $id")
}
elseif {
//////
}

所以我可以发送更多带有ID的内容或类别或其他东西?请举个例子。并告诉我使用.load()$.ajax()

会更好

2 个答案:

答案 0 :(得分:3)

你可以把para params传递给链接:

    $(function(){
        $("a.load").click(function (e) { 
            e.preventDefault();
            $("#content").load($(this).attr("href")+"?data1="+$(this).attr("some-data")+"&data2="+$(this).attr("some-more-data"));
        });
    });

你可以使用更好的 - 强大的AJAX:

    $(function(){
            $("a.load").click(function (e) { 
                e.preventDefault();
                var link = $(this).attr("href");
                var param1 = $(this).attr("some-data");
                var param2 = $(this).attr("some-more-data");
                /* //$.post example
                $.post(link, { data1: param1, data2: param2 },function(data) {
                   $("#content").html(data);
                }); */
                //or $.ajax - basically the same thing
                $.ajax({
                  url: link,
                  data: { data1: param1, data2: param2 },
                  success: function(result) {
                    $("#content").html(result);
                  }
                });
            });
        });

然后在php:

if (@$_REQUEST['data1']=="its-profile-link"){
$id = @$_REQUEST['data2'];
$id = mysql_real_escape_string($id); //or $id = (int)$id; if id is always integer.
   mysql_Query("select * from users where id =  $id")
}
elseif{
//////
}

答案 1 :(得分:0)

<a id="my_a" some-data="asd">

console.log($('#my_a').attr('some-data')); // asd

http://api.jquery.com/attr/