2013-03-29 2 views
1

У меня есть функция js, которая отправляет запрос ajax контроллеру и succ. вернуть результат и добавить этот результат в желаемый div внутри частичной страницы. Теперь я хочу, чтобы реализовать разбиение на страницы, и я использую $("#dataList").on("click", ".pagedList a".getPage); слушать, когда пользователь нажимает на постраничных ссылках определить, какой номер страницы щелкаетзапрос jquery и ajax

var getPage = function() { 
    var $a = $(this); 
    GetTabData(a); 
    return false; 
} 

и, наконец, я посылаю PageNumber к следующей функции, которая посылает PageNumber вместе с activeTab переменная к контроллеру

function GetTabData(xdata, pageNumber) { 
    $.ajax({      
     url: ('/Home/GetTabData'), 
     type: 'POST', 
     contentType: 'application/json', 
     dataType: 'html', 
     data: JSON.stringify({ activeTab: xdata, page: pageNumber }), 
     success: function (result) { 
      $("[id^='tab-'] div").remove(); 
      var currentTab = $("#tab-" + xdata).html(result); 
     }, 
     error: function() { alert("error"); } 
    }); 
} 

Что-то определено. неправильно здесь вызвать на стороне контроллера я использую

Request.IsAjaxRequest() 

разрешить только запрос Аякса постраничной данных, и я получаю Not ajax request. Еще раз, если я удалю вариант разбиения на страницы полностью и отправлю только activeTab, все будет работать.

Любые мысли?

+0

Можете ли вы плз выступить метод действия? – Sharun

+0

И почему вы используете JSON.stringify()? – Sharun

ответ

1

Ваш GetTabData функция принимает 2 аргумента: xdata и pageNumber, но при вызове его вы передаете только одно:

var $a = $(this); 
GetTabData(a); 

Таким образом, вы, вероятно, получаю Javascript ошибки и return false оператор никогда не будет достигнуто.

Смежные вопросы