2013-05-14 4 views
2

Je veux envoyer les données via ajax vers une autre page. J'ai isolé le problème. C'est le code.ajax link json type de données call

Merci à tous pour votre help..But aucun effet ..

code mis à jour

Il a travaillé ...

<script> 

    $(document).ready(function(){ 

    $(".edit").click(function(event) { 
    event.preventDefault(); //<--- to prevent the default behaviour 
    var box = 1233; 
    var size=123; 
    var itemname=123; 
    var potency=123; 
    var quantity=12333; 

    var dataString ={ 
       'box' :box, 
       'size':size , 
       'itemname':itemname, 
       'potency':potency, 
       'quantity':quantity 
       }; 


    $.ajax({ 
      url: "dd.php", 
      type: "post", 
      data: dataString, 

      success: function(data) { 
      alert(data); 

      }, 
      error: function(data) { 
      alert(data); 
      } 
      }); 

     }); 
     }); 

    </script> 

Je cliquez sur le lien, il navigue, à dd.php qui a

<?php 
echo json_encode(array('itemcode'=>$_POST['itemname'])); 
    echo $_POST['itemname']; 

?> 

J'obtiens Object Objec t comme alerte. Qu'est-ce qui ne va pas? Pls jeter quelques here..thanks lumière vous ..

+1

qui alertent: un dans le succès ou une erreur? –

+0

car votre type de données est json. essayez de faire echo json_encode ($ _ POST ['itemname']); – GGio

+1

'dataString' n'est pas un type json lorsque vous dites à php que vous transmettez des données au format json. – Rikesh

Répondre

1
$(document).ready(function(){ 

    $(".edit").click(function(event) { 
    event.preventDefault(); 
    var data = {"box":1233, 
    "size":565, 
    "itemname":565, 
    "potency":876, 
    "quantity":234}; 

      $.ajax({ 
      url: "dd.php", 
      type: "post", 
      data: data, 
      dataType: "json", 
      success: function(data) { 
      if(console){ 
    console.log(data); 
} 
      }, 
      error: function(data) { 
      if(console){ 
    console.log(data); 
} 
      } 
      }); 
     }); 
    }); 
+0

Merci .. Je reçois le texte d'état: ok ..ne suis pas sûr si les données retournent .. Merci encore :) va vérifier et vous faire savoir – user2234992

+0

Object {readyState = 4, status = 200, statusText = "OK"} Je reçois cela dans la console .. Est-ce le succès? – user2234992

+0

qui est un succès;). N'ayez pas peur d'enregistrer quelque chose dans dd.php, donc vous pouvez déboguer quoi faire avec les données maintenant que dd.php le reçoit. – DefyGravity

1

quelques choses à considérer ... vous pouvez poster données object..which est propre et plus facile à utiliser

$(".edit").click(function(event) { 
event.preventDefault(); //<--- to prevent the default behaviour 
var box = 1233; 
.... 
var dataString ={'box':box,'size':size,'itemname':itemname,'potency':potency,'quantity':quantity}; 
$.ajax({ 
     url: "dd.php", 
     type: "post", 
     data: dataString, 
     dataType: "json", //<--- here this means the response is expected as JSON from the server 
     success: function(data) { 
     alert(data.itemcode); //<--here alert itemcode 
     }, 
     error: function(data) { 
     alert(data); 
     } 
     }); 

si vous avez besoin pour envoyer la réponse en tant que json dans PHP

<?php 
    echo json_encode(array('itemcode'=>$_POST['itemname'])) 
?> 
+0

Merci pour le partage .. J'ai essayé this..It encore alerter objet Objet .. Pourrait-il faire quelque chose avec les versions de jquery ?? – user2234992

+0

J'utilise cette version user2234992

+0

@ user2234992 La version de jquery n'a pas vraiment d'importance .... mais j'ai oublié d'ajouter 'echo' devant 'json_encode' en PHP .. l'essayer .. cela devrait fonctionner .. laissez-moi savoir si le problème existe toujours – bipen

1

Ici, vous utilisez querystring comme envoyé dans la requête GET.

Si vous voulez envoyer les données en même formulaire, vous pouvez l'utiliser avec le type de requête GET:

$.ajax({ 
      url: "dd.php"+dataString, 
      type: "get", 
      dataType: "json", 
      success: function(data) { 
       console.log(data); 
       alert(data.itemcode); 
      }, 
      error: function(data) { 
      alert(data); 
      } 
     }); 

ou pour une requête POST, vous devrez mettre les données sous forme d'objets JSON, vous pouvez donc utilisation:

var dataString ={ 
      'box' :box, 
      'size':size , 
      'itemname':itemname, 
      'potency':potency, 
      'quantity':quantity 
      }; 

      $.ajax({ 
      url: "dd.php", 
      type: "post", 
      data: dataString, 
      dataType: "json", 
      success: function(data) { 
        console.log(data); 
        alert(data.itemcode); 
      }, 
      error: function(data) { 
      alert(data); 
      } 
      }); 
     }); 

Et mettre écho dans votre code php:

<?php 

echo json_encode(array('itemcode'=>$_POST['itemname'])) 

?> 

spectacles d'alerte Javascript [objet objec t] pour l'objet. Vous pouvez voir la réponse en utilisant console.log ou pouvez utiliser cette clé avec alerte.

Pour plus d'informations, reportez-vous jQuery.ajax()

+0

Essayé, aucun effet .. pourrait il y a un autre problème à considérer..Toute idée .. Btw merci .. – user2234992

+0

@ user2234992: réponse mise à jour selon la mise à jour de la question. s'il vous plaît vérifier –

+0

Je l'ai eu le travail .. J'ai enlevé le type de données: "json" et cela a fonctionné .. Merci pour votre aide .. Merci – user2234992