2013-04-28 5 views
1

Ici, tout fonctionne bien, sauf que dans le fichier enregistré, il ne me donne pas toute la chaîne. Juste l'un des ID (il y en a plusieurs sur la page).Jquery AJAX Enregistrer dans le fichier

Je ne sais pas comment obtenir « tous les ID et contenu » dans le .ajax $()

Qu'est-ce que je fais mal?

ont obtenu cette jquery:

$('a#exportPage').on('click',function(){ 
var contentMap = {}; 
$('[id^="appendHeading"]').each(function(){ 
    contentMap[this.id] = $(this).text(); 
}); 
for(id in contentMap) 
    $("#PrintIds").append("ObjectID:" + id + "Content:" + contentMap[id]); 

$.ajax({ 
    url: "post.php", 
    type: "post", 
    data: { 
     objectID: id, 
     content: contentMap[id] 
     }, 
     success: function(){ 
     alert("success"); 
    }, 
    error:function(){ 
     alert("failure"); 
    } 
}); 
}); 

Et ce PHP:

<?php 
if ($_POST['objectID'] || $_POST['content']) { 
$myFile = "test.css"; 
$stringData = $_POST['objectID'] || $_POST['content']; 
file_put_contents($myFile,$stringData); 
} 
?> 
+1

Qu'attendez-vous '$ StringData = $ _POST [ 'objectID'] || $ _POST ['content']; 'faire? – Blender

+0

Je veux mettre les valeurs de $ _POST ['objectID'] et $ _POST ['content'] dans $ myFile afin que la sortie puisse être quelque chose comme "# objectID1: theobject1, Content1: thecontent1, # objectID2: theobject2, Content2 : thecontent2 " – Kim

+2

' || 'est un OR logique. Remplacez-le par un '.' et voyez si cela fonctionne. – Blender

Répondre

1

Vous avez oublié de la boucle fermée for en { et }.

$('a#exportPage').on('click',function(){ 
var contentMap = {}; 
$('[id^="appendHeading"]').each(function(){ 
    contentMap[this.id] = $(this).text(); 
}); 
for(id in contentMap) { 
    $("#PrintIds").append("ObjectID:" + id + "Content:" + contentMap[id]); 

    $.ajax({ 
     url: "post.php", 
     type: "post", 
     data: { 
      objectID: id, 
      content: contentMap[id] 
     }, 
     success: function(){ 
      alert("success"); 
     }, 
     error:function(){ 
      alert("failure"); 
     } 
    }); 
} 
}); 

Le contenu doit être ajouté à la fin du fichier:

<?php 
if ($_POST['objectID'] || $_POST['content']) { 
    $myFile = "test.css"; 
    $stringData = $_POST['objectID'] . ':' . $_POST['content'] . "\n"; 
    file_put_contents($myFile,$stringData,FILE_APPEND | LOCK_EX); 
} 
?> 
+0

Merci, mais il ne l'a pas fait! Mais je pense que j'ai fait quelque chose de mal dans la déclaration des variables dans le $ ajax() mais je n'arrive pas à comprendre exactement quoi! – Kim

+0

Désolé l'homme! J'ai raté tout le Jquery que vous avez écrit, juste vu le PHP! Cela fonctionne brillant maintenant! Merci pour votre temps! – Kim

Questions connexes