2010-09-20 6 views
2

Je souhaite utiliser jQuery pour appeler simplement mon contrôleur MVC. J'ai été capable de déboguer le côté serveur, ce qui signifie que le contrôleur a détecté l'appel ajax et renvoyé les informations demandées. Mais le côté client n'est jamais mis à jour après les retours côté serveur. Lorsque j'utilise FireBug pour déboguer le script, le côté client est bloqué sur event.isImmediatePropagationStopped() dans handle() de jquery-1.4.1.js. Cela signifie-t-il que le client n'a tout simplement pas été rappelé? S'il vous plaît aider.jQuery getJson() ne fonctionne pas avec ASP.NET MVC

$('#ToZip').blur(function() { 
    $.getJSON('http://localhost:3958/home/GetZipInfo?id=' + this.value, 
     function(result){ 
      $("#ToCity").val = result.City; 
      $("#ToState").val = result.State; 
     } 
    ) 
}); 

public ActionResult GetZipInfo(string id) 
{ 
    // some code to prepare return value, zip 
    return Json(zip, JsonRequestBehavior.AllowGet); 
} 

Merci à l'avance

Répondre

0

je pense que peut-être parce que votre utilisant une URL complète « http://localhost:3958/home » - jquery pourrait penser votre domaine cross va donc les tentatives d'un appel jsonp. Un moyen facile de vérifier dans firebug est de voir si un script a été demandé ou si un appel xhr a été tenté, un appel jsonp ajoute également un paramètre callback à la chaîne querystring.

Essayez de changer l'URL juste '/home/GetZipInfo?id=' + this.value

0

essayer cette façon,

var ID = $ ('# ToZip') val(). ;

var url = '<% = Url.Content ("~ /")%>' + "home/GetZipInfo";

.getJSON $ ( url,.. {Id: ID}, la fonction (résultat) { $ ("# ToCity") val = result.City; $ ("# toState") val = résultat .State; } );

0

Si vous utilisez ASP.NET MVC 2.0, essayez d'utiliser un "POST" par rapport à "GET" sur la méthode quelque chose comme;

$.ajax({ 
    type: 'POST', 
    url: 'http://localhost:3958/home/GetZipInfo', 
    data: {id: this.value }, 
    success: function(data) { 
     $("#ToCity").val = data.City; 
     $("#ToState").val = data.State; 
    } 
    dataType: "json" 
}); 
0

Si vous utilisez ASP.Net MVC 3, essayez ceci.

$('#btnGetProduct').click(function() { 
     $.getJSON("/Home/getproduct", { code: tcode.value }, function (data) { 

      $('#tname').val(data.Pr_Name); 
     }); 
    }); 
Questions connexes