Это действительные данные для вызова jquery ajax в контроллер aspnet MVC? - PullRequest
2 голосов
/ 05 мая 2010

Я использую jquery с asp.net mvc .... Допустим ли мой вариант данных или я что-то упустил ...

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

Любое предложение ....

EDIT: Я вызываю функцию со страницы просмотра,

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

и моя функция,

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;
}

на странице просмотра загрузки я вижу предупреждение, говорящее [Object object] .. Почему это ...

Ответы [ 2 ]

1 голос
/ 05 мая 2010

Сейчас ваши данные - это строка. Вы, вероятно, хотите, чтобы это был объект, как показано ниже:

$.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);
        }
    });

Это нормально для вас вернуть объект JavaScript ([Объект объекта]). Что вы делаете с этим, зависит от вашего приложения. Тем не менее, вы правы, там нет предупреждения (кроме хай), поэтому я не знаю, откуда он. Попробуйте очистить кеш браузера.

0 голосов
/ 05 мая 2010

Я думаю, что вы хотите:

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