2010-06-07 4 views
0

J'essaie d'envoyer une date au serveur dans le cadre d'une transaction get, cependant, en regardant les urls (via firebug), il semble que le var sDate ne soit jamais remplacé par sa valeur . Désolé je suis très nouveau à JS et JQuery, donc c'est probablement une erreur très élémentaire - je devine que cela a quelque chose à voir avec la carte que j'essaye de passer à $ .get?

function drawVisualization(sDate, eDate) { 

alert(sDate + eDate);  

$.get(
     "http://localhost:8080/", 
     "{'start':sDate}", 
     function(data) { alert(data); }, 
     "html" 
); 

mise à jour: Pour moi, le candidat le plus probable semblait autour de la variable la date cartographié « » - mais en supprimant ces fait défaut url juste http://localhost:8080/ - sans charge utile de données supplémentaires. J'ai reçu le formulaire pour la demande GET de here btw.

mise à jour 2:
Merci à pointeurs ici et un peu plus googler, j'ai réussi à obtenir le travail suivant:

$.get(
     "http://localhost:8080/", 
     {'start':JSON.stringify(sDate), 'stop':JSON.stringify(eDate)}, 
     function(data) { 
     handleQueryResponse(data); 
     }, 
     "html" 
    ); 

Cependant, le wasnt ci-dessus fonctionne très bien avec Google à savoir api (pour une raison quelconque le

handleQueryResponse (données), n'a pas déclenché la fonction au retour, pour le moment, j'ai codé le suivant (très hackish):

var qs = '?' + 'start' + '=' +JSON.stringify(sDate) + '&' + 'stop' + '=' + JSON.stringify(eDate) 
alert(qs) 
var query = new google.visualization.Query('http://localhost:8080/'+ qs); 

Au-dessus est loin d'être un sol parfait - mais dans le cas où quelqu'un dont il a besoin dans une situation critique, pensé que cela pourrait aider ..

+0

Quel format de date le serveur veut-il? – SLaks

+0

ive a codé un simple script python v sur le côté serveur - donc tout ce qui est facile à passer du client, je devrais pouvoir analyser en utilisant python à l'autre extrémité. –

Répondre

2

Vous passer une chaîne littérale contenant le mot sDate.
Les mots de la chaîne qui sont des noms de variables ne sont pas magiquement évalués.

Au lieu de cela, vous pouvez passer un objet littéral, comme ceci:

{ start: sDate }, 
+0

ne semble pas fonctionner non plus - start n'est pas une var, c'est une chaîne littérale, donc même si je fais {'start': sDate}, - cela n'inclut toujours pas une charge utile dans l'url? –

+0

Cela fonctionne pour moi. Quelle version de jQuery utilisez-vous? – SLaks

3

Avez-vous essayé de supprimer les citations du paramètre "{'start':sDate}"? Il semble que vous l'envoyez en tant que chaîne. Essayez:

{'start':sDate} 
+0

thats semblé le candidat le plus probable, donc j'ai effectivement essayé cela en premier - mais dans ce cas l'URL résultant dans le GET (selon firebug au moins) devient 'localhost: 8080' sans données supplémentaires passées. –

+1

Vous pouvez essayer d'ajouter le sDate sur la chaîne URL comme ceci: "http: // localhost: 8080 /? Start =" + sDate – gurun8

Questions connexes