2010-11-14 6 views
0

appel JSP/JQuery: -ne peut pas accéder à paramètre d'entrée AJAX dans la classe d'action

$.ajax({ 
    url: "ApplyCouponCode", 
    type: "POST", 
    data: {couponCode: $('#PaymentMethod_couponCode').val()}, 
    dataType: "json", 
    error: function(){ 
     alert('Error'); 
    }, 
    success: function(data){ 
    alert('SUCCESS'); 
    $('#spanValidatedCoupon').text('Is coupon valid? ' + data.couponIsValid + ' couponAmount = ' + data.couponAmount); 
    } 

});

Classe d'action:

public String applyCouponCode() throws Exception { 
    if(logger.isDebugEnabled()){ 
     logger.debug("data: couponCode '" + couponCode + "'");  
    } 
    return SUCCESS; 
} 

La méthode de classe d'action [applyCouponCode] est invoquée. Mais couponCode est nul .. s'il vous plaît aviser. couponCode a des méthodes getter/setter publiques .. quoi d'autre dois-je faire?

Répondre

-1

Je pense que votre méthode d'action devrait prendre couponCode comme paramètre. En supposant CouponCode est une chaîne de type, votre méthode d'action devrait ressembler à ceci:

public String ApplyCouponCode(string couponCode) 

Hope this helps.

+0

méthodes d'action Struts2 ne prennent pas de paramètres. –

+0

Je trouve l'erreur: données: {CouponCode:. $ ('# PaymentMethod_couponCode') val()}, aurait dû données: {CouponCode:. $ ('# PaymentMethod_CouponCode') val()},. c'est-à-dire avec C majuscule dans CouponCode. Merci pour vos réponses. désolé de vous déranger avec quelque chose d'idiot. –

0

Que se passe si vous allez directement à ApplyCouponCode? CouponCode = your_coupon_code