JQuery Post URL

时间:2013-08-19 18:34:30

标签: jquery asp.net asp.net-mvc

我有以下Jquery函数

function refreshTheGrid(myData, ceduleDateFrom, ceduleDateTo, paramOrderNo) {



    var myData2 = {
        CeduleDateFrom: ceduleDateFrom,
        CeduleDateTo: ceduleDateTo,
        ParamOrderNo: paramOrderNo
    };


    var theUrl = "UpdateCheckBox";
    var theUrl2 = "";

    $.ajax({
        type: "POST",
        url: theUrl,
        data: myData,
        dataType: "text",
        success: function (data) {
            $.ajax({
                type: "POST",
                url: theUrl2,
                data: myData2,
                dataType: "text",
                success: function (data) {
                    $('#monbouton').click();
                }
            })
        }
    })
   popup.Hide();
    void (0);
}

我的申请是http://localhost/JprMvc/

当调用我的POST方法时,以下内容由Fiddler2

捕获
POST /JprMvc/CeduleGlobale/UpdateCheckBox HTTP/1.1

POST /JprMvc/ HTTP/1.1

在我从网址中删除CeduleGlobale部分之前,我遇到了调用问题。现在一切正常。

我认为这是一个路由问题,但我不确定。

我的路由

   routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "CeduleGlobale", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

它现在有效,但似乎是随意的。

我应该从路由中删除默认值并将其放回jquery。

我缺少什么?

1 个答案:

答案 0 :(得分:3)

我通常将路由保留为默认路由并在jQuery调用中更改控制器。

路由代码

routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

jQuery代码

$.ajax({
        type: 'GET',
        dataType: 'json',
        timeout: 300000, //5 minutes (in milliseconds)
        url: '/YourApplicationName/YourContollerName/YourMethodName',

//...