2013-05-09 5 views
0

J'ai une fonction jquery qui fait un appel AJAX à une fonction dans le contrôleur. la fonction de contrôleur accepte 3 arguments. À certains moments, j'ai besoin de passer le troisième paramètre comme nul .. car cela sera utilisé pour vérifier la fonction du contrôleur.envoyer un paramètre null d'Ajax au contrôleur

Voici comment j'appelle la fonction quand j'ai besoin d'envoyer la valeur du 3ème paramètre.

$.ajax({ 
      type: "POST", 
      contentType: "application/json", 
      url: "/Transactions/Cancel/" + transactionID + "/" + reasonForCancel, 
      data: $.toJSON(Comment), 
      success: function (cancelInfo) { 

       } 

     }); 

maintenant pour le même appel dans un autre endroit que je n'ont pas de valeur « commentaire » (celui que je suis dans l'envoi d'objet Commentaire) et donc je dois passer null là. S'il vous plaît me suggérer ce qu'il faut faire ici.

P.S. Je ne peux pas tester la fonctionnalité lorsque la valeur null doit être envoyée, c'est pourquoi je demande ici.

+0

plus de code S'il vous plaît publier entourant ce, y compris le contrôleur. – Dogbert

+0

si vous n'avez pas de valeur de commentaire, vous pouvez utiliser comment = 'null'; juste pour s'assurer que vous passez une certaine valeur même si vous n'avez pas de valeur. – Vimalnath

Répondre

1

Pouvez-vous essayer ça?

var myObj = null; 
if(objectIsNotNull){ 
    myObj = $.toJSON(Comment); 
} 
$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: "/Transactions/Cancel/" + transactionID + "/" + reasonForCancel, 
    data: myObj, 
    success: function (cancelInfo) { 
    } 

}); 
+0

Pourquoi l'OP "essayer ceci"? Une bonne réponse aura toujours une explication de ce qui a été fait et pourquoi cela a été fait, non seulement pour le PO, mais pour les futurs visiteurs de l'OS. –

0

essayer ...

var param1 = val1; 
    var param2 = val2; 
    var param3 = null; 
    var paramComment = ''; 
    var param = { "p1": "", "p2": "", "p3": "", "comment" : "" }; 
    param.p1= param1; 
    param.p2= param2; 
    param.p3 = param3; 
    param.comment = paramComment; 
    $.ajax({ 
     url: '/Transactions/Cancel', 
     data: JSON.stringify(param), 
     type: 'POST', 
     contentType: 'application/json;', 
     dataType: 'json', 
     success: function (cancelInfo) { 
     } 
    }); 
+0

Pourquoi l'OP devrait-il "essayer ceci"? Une bonne réponse aura toujours une explication de ce qui a été fait et pourquoi cela a été fait, non seulement pour le PO, mais pour les futurs visiteurs de l'OS. –

Questions connexes