我想创建一些像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()
?
答案 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