我有一点问题,我需要向文件发送ajax请求。 这是我的HTML文件(index.html)
<a id="like" href="./?act=like&id=24" title="Nobody likes this post!">Like</a> · <a id="dislike" href="./?act=dislike&id=24" title="Nobody dislikes this post!">Dislike</a>
我的like.php文件:
<?php
if(!is_logged()) {
header("Location: ./?act=Home");
die();
}
$uid = $user['id'];
$id = $_GET['id'];
if(isset($id)) {
$query = mysql_query("INSERT INTO ld (auth_id,post_id,val)
VALUES ('".$uid."','".$id."','1')");
if($query) {
header("Location: ".$_SERVER['HTTP_REFERER']);
} else {
echo "Contatta l'amministratore riportando l'errore 101";
}
} else {
header("Location: ./?act=Home");
}
?>
我的“ld”表:
== Struttura della tabella ld
|------
|Campo |Tipo |Null|Predefinito
|------
|//**id**//|int(5) |No |
|auth_id |varchar(5)|No |
|post_id |varchar(5)|No |
|val |varchar(1)|No |
== Dump dei dati per la tabella ld
|5|4|1|1
|6|4|1|1
|7|4|1|1
|8|4|1|1
|9|4|1|1
|10|4|1|1
|12|4|1|1
|13|4|1|1
|14|4|1|2
|20|4|15|1
|23|5|17|1
|29|4|17|1
|30|4|18|1
== Struttura della tabella ld
|------
|Campo |Tipo |Null|Predefinito
|------
|//**id**//|int(5) |No |
|auth_id |varchar(5)|No |
|post_id |varchar(5)|No |
|val |varchar(1)|No |
我真的不知道如何发送ajax请求,我也试过学习ajax但是没办法,我无法理解它。
答案 0 :(得分:2)
你应该使用jquery,它实际上非常简单。首先在HTML文件中包含它:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
然后添加它,它被称为“列表器”,在这种情况下,当您点击链接时它会引起注意:
// A # is used since we are using an id to get the element
// A . is used for a class, but we are using the id at the moment
$('#like').click(function(e) { // We assign a click listner with a handler (a function)
e.preventDefault(); // run this to stop it from going to a new page automatically
$.get('./', {'act' : 'like', 'id' : $(this).attr('data')}, function(e) {
// Handle success here
}, 'json'); // expecting a json object back by using echo json_encode(array(...)) in PHP
});
根据我的示例,您需要将html更改为:
<a id="like" href="" data="24" title="Nobody likes this post!">Like</a>
然后你可以不喜欢做同样的事情。 {}作为我在$ .get中做的第二个参数是一个javascript数组作为fyi。这是我在jquery的文档中使用的$ .get方法:http://api.jquery.com/jQuery.get/
有关ajax及其工作原理的信息,请查看以下文章:http://www.webdesignerdepot.com/2008/11/how-ajax-works/
随时要求澄清
答案 1 :(得分:0)
我没有代表添加评论,所以我现在必须把我的评论作为答案。查看http://www.w3schools.com/ajax/default.asp和http://api.jquery.com/jQuery.ajax/
解释ajax和jquery的答案太长了。