2010-05-05 4 views
2

J'utilise jquery avec asp.net mvc .... est mon option de données valides ou suis-je manque quelque chose ...Est-ce que cette donnée est valide pour l'appel jquery ajax au contrôleur mvc aspnet?

$.ajax({ 
      type:"POST", 
      url: "Materials/GetRecords", 
      data: "{'currentPage':1,'pageSize':5}", 

Toute suggestion ....

EDIT: J'appelle une fonction d'une page vue,

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      getMaterials(0); 
      }); 
    </script> 

et ma fonction est,

function getMaterials(currentPage) { 
    $.ajax({ 
     type:"POST", 
     url: "Materials/GetRecords", 
     data: "{'currentPage':" + (currentPage + 1) + ",'pageSize':5}", 
     contentType: "application/json; charset=utf-8", 
     cache: false, 
     global: false, 
     async: false, 
     dataType: "json", 
     success: function(data) { 
      var divs = ''; 
      $("#ResultsDiv").empty(); 
      $.each(data.Results, function() { 
       divs += '<div class="resultsdiv"><br /><span style="display: inline-block;width:150px;" class="resultName">' + this.Mat_Name + '</span><span class="resultfields" style="padding-left:10px;">Measurement&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + this.Mes_Name + '</span>&nbsp;<a href="/Materials/Delete/' + this.Id + '">Delete</a>&nbsp;<a href="/Materials/Details/' + this.Id + '">Details</a>&nbsp;<a href="/Materials/Edit/' + this.Id + '">Edit</a></div>'; 
      }); 
      alert("hai"); 
      $("#ResultsDiv").append(divs); 
      $(".resultsdiv:even").addClass("resultseven"); 
      $(".resultsdiv").hover(function() { 
       $(this).addClass("resultshover"); 
      }, function() { 
       $(this).removeClass("resultshover"); 
      }); 
      $("#HfId").val(""); 
      $("#HfId").val(data.Count); 
     } 
    }); 
    return false; 
} 

sur la charge de la page vue que je vois une alerte disant [Object object] .. Pourquoi ...

+0

ce qui va mal? –

+0

@Je reçois ma réponse json, mais il montre une alerte' [Object object] 'j'ai cherché l'alerte, il est nulle part dans mon projet .... –

Répondre

1

En ce moment, vos données est une chaîne. Vous voulez sans doute que ce soit un objet, comme ci-dessous:

$.ajax({ 
     type:"POST", 
     url: "Materials/GetRecords", 
     data: {"currentPage": (currentPage + 1), "pageSize": 5}, 
     contentType: "application/json; charset=utf-8", 
     cache: false, 
     global: false, 
     async: false, 
     dataType: "json", 
     success: function(data) { 
      var divs = ''; 
      $("#ResultsDiv").empty(); 
      $.each(data.Results, function() { 
       divs += '<div class="resultsdiv"><br /><span style="display: inline-block;width:150px;" class="resultName">' + this.Mat_Name + '</span><span class="resultfields" style="padding-left:10px;">Measurement&nbsp;:</span>&nbsp;<span class="resultfieldvalues">' + this.Mes_Name + '</span>&nbsp;<a href="/Materials/Delete/' + this.Id + '">Delete</a>&nbsp;<a href="/Materials/Details/' + this.Id + '">Details</a>&nbsp;<a href="/Materials/Edit/' + this.Id + '">Edit</a></div>'; 
      }); 
      alert("hai"); 
      $("#ResultsDiv").append(divs); 
      $(".resultsdiv:even").addClass("resultseven"); 
      $(".resultsdiv").hover(function() { 
       $(this).addClass("resultshover"); 
      }, function() { 
       $(this).removeClass("resultshover"); 
      }); 
      $("#HfId").val(""); 
      $("#HfId").val(data.Count); 
     } 
    }); 

Il est normal pour vous d'obtenir un objet JavaScript retour (le [objet Object]). Ce que vous faites avec cela dépend de votre application. Cependant, vous avez raison, il n'y a pas d'alerte (sauf le hai), donc je ne sais pas d'où ça vient. Essayez d'effacer le cache de votre navigateur.

0

Je pense que vous voulez:

$.ajax({ 
     type:"POST", 
     url: "Materials/GetRecords", 
     data: {'currentPage':1,'pageSize':5}, 
Questions connexes