$ .ajax不返回数据

时间:2009-05-06 16:34:57

标签: jquery asp.net-mvc

我正在尝试将数据发回服务器并获取数据集。我取而代之的是整个页面的HTML AND 它没有在我的控制器中启动Action。是的 - JQuery仍然让我感到困惑。

我目前的代码是:

function updateNavIndex(pageIndex) {
    var filters = $("form").serialize();
    var productGroup = $("#valProductGroup").attr('title');
    var productType = $("#valProductType").attr('title');
    var itemsPerPage = $("#ItemsPerPage").val();

    $.ajax({ path: "/CatalogAjaxController/UpdateNavigation"
          , type: "POST"
          , data: "{ productGroup: " + productGroup + ", productType: " + productType + ", itemsPerPage: " + itemsPerPage + ", pageIndex: " + pageIndex + ", filters: " + filters + "}"
          , success: function(data) { handleMenuData(data); }
    });
    $.ajax({ path: "/CatalogAjaxController/UpdateProducts"
          , type: "POST"
          , data: "{ productGroup: " + productGroup + ", productType: " + productType + ", itemsPerPage: " + itemsPerPage + ", pageIndex: " + pageIndex + ", filters: " + filters + "}"
          , success: function(data) { handleProductData(data); }
    });
}

回调函数正在跳闸,函数定义如下:

function handleMenuData(data) {
    $("#navigation ul").remove();
    }

此时“data”变量中包含Page HTML。 (就像我说的那样,Action没有关闭。)我想我不应该直接调用$ ajax函数,而是使用var函数定义。类似的东西:

var retrieveMenuData = function(path, productGroup, productType, itemsPerPage, pageIndex, filter, fnHandleCallback) {
    $.ajax( path
          , type
          , { productGroup: productGroup, productType: productType, itemsPerPage: itemsPerPage, pageIndex: pageIndex, filter: filter }
          , function(data) { fnHandleCallback(data); });
};

我不确定我是否正确定义了它或如何正确调用它。非常感谢你的帮助!

2 个答案:

答案 0 :(得分:3)

解决方案可能非常简单。

您正在使用path:url:

来源:jQuery.ajax options list

答案 1 :(得分:2)

另外,你有一些奇怪的引号.. data:的语法更像是这样:

$.ajax({
    type: "POST",
    url: "bin/login.php",
    data:{data1: var1,data2: var2},
    success: function(data) {
        }
     });