Jump to content

Problème de récupération de données en ajax


Recommended Posts

Tout d'abord bonjour à tous,

 

Je suis actuellement en train de développer un module dans le back office de prestashop. Ce module est constitué d'un tableau généré à partir de la base de donnée. Chaque ligne comporte un champs de type textarea que l'on peut modifier et cliquer sur le bouton "modifier" qui effectue une requête ajax qui met à jour la base de donnée. Seulement, ce que je souhaiterais, c'est affiché un message en dessous de ce textarea qui indique que tout s'est bien déroulé. (style "update correctement effectué"). Mon script ajax et mon module se situe dans le même fichier. Le problème est que le code html renvoyé dans mon script ajax comporte aussi tout le header de prestashop. Comment pûis-je filtrer le retour html de mon ajax? Je cherche depuis longtemps mais c'est toujours une question sans réponse. Si quelqu'un peut m'aider, ce serait très très cool :)

 

Merci d'avance,

Link to comment
Share on other sites

Salut,

Je sais pas si tu le fait en jquery ou directement en javascript,

mais il faut dire tout simplement si la réponse est ok , de prendre le message renvoyé par ton fichier php et de l'afficher dans un span avec un id particulier


 $(".star-rating a").click(function(){
  var value = $(this).html();

  datastring = "value="+value+"&ip={$ip}";
  //alert(value);
  $.ajax({
  type: "POST",
  url: "fichier.php",
  data: datastring,
  success: function(data){
  $('.result').html(data);

 }
  });
 });

voici un extrait d'un de mes codes.

J'espère t'avoir un peu aidé.

Edited by guigui23 (see edit history)
Link to comment
Share on other sites

Merci de ta réponse.

Mais ce que je souhaite savoir c'est si il est possible de filtrer le retour "data" dans la fonction de succes. C'est à dire ne récupérer qu'une partie du contenu de la variable data. (pas le paramètre) De cette manière, je pourrais éviter de retourner le header, footer... mais seulement les infos de la page qui m'interesse. Une solution?

Link to comment
Share on other sites

Je vois pas trop pourquoi ça te retourne tout ça....

voila le code de mon fichier d'envoi, sinon il me semble que tu peux retourner un tableau...

$base = dirname(__FILE__).'/../../';
$basemodule = dirname(__FILE__);
include($base.'config/config.inc.php');
include($base.'init.php');
include_once $base.'classes/Db.php';
include_once $base.'classes/Tools.php';

if(isset($_POST['value'])){
$value  = $_POST['value'];
$ip  = $_POST['ip'];

$insert = Db::getInstance()->Execute("INSERT INTO "._DB_PREFIX_."table SET table1 ='$ip' ");
if($insert){
 echo 'Mysql OK';
}else{
 echo 'mysql Ko';
}
}

Link to comment
Share on other sites

Oui mais dans ce cas là tu as ton script ajax dans un fichier distinct. Mais si le script est éxécuté dans le même fichier php que celui de ta page. Tu peux mettre des conditions isset sa pas de problème mais la variable data contient le header + les infos que tu as récup avec ton script (déclenché par l'isset) + le footer. D'ou le problème de "filtrer" ce retour ajax.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...