Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Asp.net MVC 5 Ajax POST在应用程序发布后引发异常404(未找到)_Jquery_Asp.net Mvc_Post_Asp.net Mvc 5_Asp.net Ajax - Fatal编程技术网

Jquery Asp.net MVC 5 Ajax POST在应用程序发布后引发异常404(未找到)

Jquery Asp.net MVC 5 Ajax POST在应用程序发布后引发异常404(未找到),jquery,asp.net-mvc,post,asp.net-mvc-5,asp.net-ajax,Jquery,Asp.net Mvc,Post,Asp.net Mvc 5,Asp.net Ajax,在本地(当我使用localhost运行时)一切正常,但在我发布到IIS并运行之后,它在浏览器控制台中抛出异常 邮政404(未找到) 下面是我的代码,我使用一个按钮来调用这个javascript函数 查看-索引 <script type="text/javascript"> function btnFilterClick() { var txtFDate = $("#dpFrom"); var txtTDate = $("#dpTo");

在本地(当我使用localhost运行时)一切正常,但在我发布到IIS并运行之后,它在浏览器控制台中抛出异常

邮政404(未找到)

下面是我的代码,我使用一个按钮来调用这个javascript函数

查看-索引

<script type="text/javascript">

    function btnFilterClick() {

        var txtFDate = $("#dpFrom");
        var txtTDate = $("#dpTo");
        var ddBranches = $("#ddBranches");
        var ddBrands = $("#ddBrands");

        $.ajax({
            type: "POST",
            url: "/Dashboard/FilterData",
            data: '{FromDate: "' + txtFDate.val() + '", ToDate: "' + txtTDate.val() + '", SelectedBranches : "'+ ddBranches.val()+'", SelectedBrands : "'+ ddBrands.val()+'" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success:
                function (r)
                {
                    chartPurchaseVsSales.data.datasets[0].data = r.listSalesData;
                    chartPurchaseVsSales.data.datasets[1].data = r.listPurchaseData;
                    chartPurchaseVsSales.data.labels = r.xAxisNameForPurchaseAndSales;
                    chartPurchaseVsSales.update();


                }
        });


    }

    </script>

你知道这是怎么回事吗?我是网络开发的新手!救救我

解决方案1

您可以从
url:“/Dashboard/FilterData”
更改,如下所示

url: '@Url.Action("FilterData", "Dashboard")'
解决方案2

在HTML中

<input type="hidden" value="@Url.Action("FilterData", "Dashboard")" id='url' />

您需要将ajax请求中的URL更改为
URL:“/YourAppName/Controller/ActionResult”,在IIS上发布后。这就是为什么URL永远不应该硬编码。您可以在razor页面中使用隐藏字段并填充URL,如@URL.Action(“FilterData”、“Dashboard”)并从中读取。我希望它能有所帮助。

我改成了
'@Url.Action(“FilterData”、“Dashboard”)
,效果很好!谢谢大家

下面是我的代码

 $.ajax({
        type: "POST",
        url: '@Url.Action("FilterData", "Dashboard")',
        data: '{FromDate: "' + txtFDate.val() + '", ToDate: "' + txtTDate.val() + '", SelectedBranches : "'+ ddBranches.val()+'", SelectedBrands : "'+ ddBrands.val()+'" }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success:
            function (r)
            {
                chartPurchaseVsSales.data.datasets[0].data = r.listSalesData;
                chartPurchaseVsSales.data.datasets[1].data = r.listPurchaseData;
                chartPurchaseVsSales.data.labels = r.xAxisNameForPurchaseAndSales;
                chartPurchaseVsSales.update();


            }
    });

或者,更具体地说:
url:'@url.Action(“FilterData”,“Dashboard”)”
只要你把它保存在.cshtml中,而不是放在.jsfreedomn-m中,你能给我看一个片段吗?我得到异常未捕获SyntaxError:无效的正则表达式flags@Phong我的观点是,如果你把它放在javascript中,你必须用引号把它括起来,否则你会得到无效的javascript,很可能是“无效的正则表达式标志”正在发生-即您的代码:
url:/dashboard/filterdata
所需代码:
url:'/dashboard/filterdata'
(处理后)是,当我们在javascriptNo中使用此代码时,需要单引号-输出为:
url:“+/dashboard/filterdata+”
-哪个字符串无效?索引的URL是什么?Dashboard/Index@freedomn mURL放在单引号中(来自源代码),否则它会显示异常无效的正则表达式我正在尝试确定路径是
/dashboard/filterdata
还是其他路径,例如
/yourapp/dashboard/filterdata
不确定为什么会投反对票,其他两个答案是正确的,同时暗示,不要提供具体的/*correct*细节。事实上,我是在代码中给出这个想法的(只是缺少引号)。所以OP只是测试并给我反馈,而不是回答他自己的问题。
url: $("#url").val()
 $.ajax({
        type: "POST",
        url: '@Url.Action("FilterData", "Dashboard")',
        data: '{FromDate: "' + txtFDate.val() + '", ToDate: "' + txtTDate.val() + '", SelectedBranches : "'+ ddBranches.val()+'", SelectedBrands : "'+ ddBrands.val()+'" }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success:
            function (r)
            {
                chartPurchaseVsSales.data.datasets[0].data = r.listSalesData;
                chartPurchaseVsSales.data.datasets[1].data = r.listPurchaseData;
                chartPurchaseVsSales.data.labels = r.xAxisNameForPurchaseAndSales;
                chartPurchaseVsSales.update();


            }
    });