Question

J'ai un petit problème, j'ai besoin d'envoyer une demande Ajax à un fichier. Voici mon fichier html (index.html)

<a id="like" href="./?act=like&id=24" title="Nobody likes this post!">Like</a> &middot; <a id="dislike" href="./?act=dislike&id=24" title="Nobody dislikes this post!">Dislike</a>

et mon fichier similaire.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");
}
?>

et ma table "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  |

Je ne sais vraiment pas comment envoyer une demande Ajax, et j'ai également essayé d'apprendre Ajax mais aucun moyen, je ne peux pas le comprendre.

Était-ce utile?

La solution

Vous devez utiliser jQuery, c'est en fait très simple avec elle.Incluez d'abord cela dans votre fichier HTML:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

Ajoutez cela, il s'appelle un "liste" et porte l'attention dans ce cas lorsque votre lien est cliqué sur:

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

Avec mon exemple, vous devez modifier le HTML à ceci:

<a id="like" href="" data="24" title="Nobody likes this post!">Like</a>

Et puis vous pourriez faire la même chose avec l'aversion.Le {} comme le deuxième paramètre que j'ai fait dans le $ .GET est un tableau JavaScript comme un FYI.Voici la méthode $ .get que j'ai utilisé dans la documentation de JQuery: http://api.jquerery.com/jQuery.igrez /

Pour plus d'informations sur ce que Ajax est et comment ça marche, consultez cet article: http://www.webdesignerdepot.com/2008/11/how-ajax-works/

N'hésitez pas à demander des éclaircissements

Autres conseils

Je n'ai pas le représentant pour ajouter un commentaire, je dois donc mettre mes commentaires comme des réponses pour l'instant.Découvrez http://www.w3schools.com/ajax/default.asp et http://api.jquery.com/jquery.ajax/

Il serait trop long d'une réponse à expliquer Ajax et Jquery.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top