2010-12-08 7 views
0

Dans la fonction jquery ajax, comment peut variable php traverser l'URL?en passant variable php par ajax

php: send.php?id=<?php '.$news_id.' ?>

$.ajax({ 
type: "POST", 
url: "ABOVE URL", 
data: str}); 
+2

Vous ne pouvez pas. php est un langage côté serveur. Côté client Javascript. La meilleure chose serait de stocker l'identifiant dans une entrée cachée ou quelque chose en html afin que vous puissiez le récupérer avec javascript/jQuery. –

+0

ne jquery post à des liens comme send.php? Id = 111 ?? – TheNone

+0

Bien sûr que possible. Si vous écrivez votre fichier JS pour y inclure ce texte, ou générez dynamiquement l'URL dans le JS côté client, utilisez une autre variable écrite en JS ou HTML par PHP. – Phrogz

Répondre

2
<head> 
    <script type="text/javascript"> 
    ... 
    $.ajax({ 
    type: 'POST', 
    url: 'send.php?id=<?php echo $news_id; ?>', 
    data: str 
    }); 
    ... 

Comme ça?

+0

À la fois perspicace et humoristique. :) – Phrogz

+0

Si vous ne pouvez pas vous amuser un peu, cela n'en vaut pas la peine. ;-) –

0

Êtes-vous désireux de passer la valeur de l'attribut href à l'URL de l'appel ajax? En supposant que vous cliquez sur un lien?

$('a.thisLink').click(function(){ 

    $.ajax({ 
    type: "POST", 
    url: $(this).attr('href'), 
    data: str 
    }); 

}); 

Si vous voulez passer une valeur d'un formulaire à send.php, vous pouvez le faire comme ça.

function sendFormData(formData){ 

    $.ajax({ 
    type: "POST", 
    url: 'send.php', 
    data: formData 
    })  

}; 

// when the form is submitted 
$('form[name=foo]').submit(function(){ 

    // pass the entire form? 
    var formData = $(this).serialize(); 

    // or just one input? 
    var formData = $('form[name=foo] input[name=bar]').val(); 

    sendFormData(formData); 

}); 
+0

Je veux insérer la valeur d'un formulaire dans la base de données – TheNone

+0

Vérifiez la mise à jour, c'est ce que vous cherchez? Vous voudrez peut-être élaborer un peu plus sur votre question. – jyoseph

+0

sendData (formData); -> sendFormData (formData); lors de l'appel de la fonction. Juste pour avoir raison. :) (Mais je pense que ce n'est pas la bonne réponse, je pense que Brad Christie est sur la bonne voie :)) – Sk8erPeter

0
  1. Utilisez PHP pour créer HTML valide et/ou fichiers JS sur votre serveur.
  2. Attendez qu'ils soient envoyés au navigateur via Internet.
  3. Quand ils arrivent, le navigateur va exécuter tout ce qui est là.
+0

Oui, je connais le problème Théoriquement :)) – TheNone