2010-09-03 6 views
-1

Comment récupérer obtenir ou poster via javascript seulement? et pas php.Comment récupérer GET ou POST via JavaScript?

Est-ce possible?

+3

Veuillez clarifier ce que vous entendez par "récupérer get ou poster". Il pourrait y avoir plusieurs choses que cela pourrait signifier, de faire des requêtes POST à ​​lire des données POSTed dans la page en cours. –

Répondre

3

De toute évidence, vous ne pouvez pas lire les données POST en utilisant javascript car les données sont POSTées dans le corps de la requête HTTP et seul un script côté serveur est capable de les lire. En ce qui concerne les données GET est concerné, vous pouvez utiliser this function pour analyser la chaîne de requête de la page en cours:

function gup(name) { 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) { 
     return ""; 
    } 
    return results[1]; 
} 

et utiliser comme ceci:

var username = gup('username'); 
+0

je vous remercie de ce que je cherche. – justjoe

3

Pour extraire les valeurs de la chaîne de requête de l'URL , vous souhaiterez peut-être vérifier this solution par @CMS dans un autre message de dépassement de pile.

Cependant, JavaScript n'a pas accès à la requête HTTP à laquelle il a été servi. Une option possible est de rendre le code JavaScript de votre script côté serveur de manière à passer toutes/certaines valeurs POST à ​​JavaScript. exemple très basique en utilisant php:

<script type="text/javascript> 
    var postValue = '<?php echo $_POST["name"]; ?>'; 
</script> 

En plus de ce qui précède, vous pouvez également utiliser la fonction json_encode comme celui-ci pour sérialiser toutes les données POST à ​​un objet JavaScript (table de hachage):

<script type="text/javascript> 
    var postData = <?php echo json_encode($_POST); ?>; 
</script> 

puis, en JavaScript, vous devriez être en mesure d'accéder à toutes vos données POST comme suit:

alert(postData["name"]); // displays the value of name 
2

Si vous utilisez GET alors Javascript peut lire les valeurs qui sont transmises à l'aide window.location .chercher.

Voir http://javascript.about.com/library/blqs1.htm pour plus d'informations sur la façon de le faire.

Javascript n'a pas accès si vous utilisez POST

1

Javascript fonctionne sur la machine cliente. Le POST est envoyé de l'ordinateur client au serveur.

Ainsi, il ne vous reste plus que la chaîne de requête.