2010-12-03 5 views
1

Donc, pour une raison quelconque, mon script refuse de fonctionner, bien qu'il semble être correct.

J'ai essayé d'utiliser $ .ajax à la place, mais je ne travaillais pas non plus avec ça. Des idées sur ce qui ne va pas?

<script> 
$(document).ready(function() { 
    $('#saveForm .submit').click(function() { 
     var _user = $('#saveForm .user'); 
     _userId = $('#saveForm .userId'); 
     _password = $('#saveForm .password'); 

     $('#saveForm').append('<p>Loading...</p>'); 

     $.post("ajax/fetchPhotos.php", {user:_user, userId:_userId, password:_password}, function(data) { 
     alert(data); 
     }); 

     return false; 
    }); 
}); 
</script> 

En ajax/fetchPhotos.php j'ai ceci:

<?php 
set_time_limit(0); 
session_start(); 
require_once("includes/functions.php"); 
require_once("includes/pclzip.lib.php"); 

/* 
Huge block of code here (commented out for the moment) 
*/ 
echo "wut?"; 

Ainsi, en cliquant .submit, il doit envoyer une demande à fetchPhotos.php avec trois params puis alerter "Wut?" . En ce moment la page est en chrome ... rien ne se passe. Dans Firefox, la page est juste rafraîchie. J'obtiens une erreur dans la console, mais je la vois seulement pendant une fraction de seconde car la page se rafraîchit directement.

Merci, Pete

+0

Qu'est-ce que votre balisage ressemble? –

+0

Dans Firefox, avez-vous regardé la 'Console d'erreur'? C'est dans le menu 'Outils '. Les informations à l'intérieur de la 'Console d'erreur' ne disparaissent pas sauf si vous les effacez manuellement. De plus, si vous regardez les logs du serveur web sur lequel le script PHP est hébergé, voyez-vous des requêtes sur votre script? En outre, l'extension 'HttpFox' sur Firefox vous aidera à suivre les demandes et les réponses. – ayaz

+0

@Nick, je ne vois pas pourquoi vous auriez besoin du balisage. C'est simple cependant, j'ai une forme avec trois entrées avec des classes. @Ayaz, je ne savais pas à ce sujet! Merci. C'est ce que je vois dans la console d'erreur: http://www.heypasteit.com/clip/Q0Y – Pete

Répondre

3

vous devez utiliser la méthode .val() pour obtenir la valeur de les entrées.

essayer cette façon:

<script> 
$(document).ready(function() { 

    $('#saveForm .submit').bind('click', function() { 
     var 
      user = $('#saveForm .user').val(), 
      id = $('#saveForm .userId').val(), 
      password = $('#saveForm .password').val(); 

     $('#saveForm').append('<p>Loading...</p>'); 

     $.post("ajax/fetchPhotos.php", {user:user, userId:id, password:password}, function(data) { 
      alert(data); 
     }); 

     return false; 
    }); 
}); 
</script> 
+0

Merci l'homme, c'était tout! Je ne peux pas croire que j'ai raté ça. – Pete

0

Il semble problème lié à la syntaxe et aussi essayer avec l'URL absolue ou peut faire de cette façon

new Ajax.Request("ajax/fetchPhotos.php", { 
      method: 'post', 
      parameters: 'id='+id, 
      onComplete: function(transport) { 
      alert(transport.responseText); 
      } 
      });