簡體   English   中英

從JavaScript中正確調用控制器 - ASP.NET MVC

[英]Calling the controller correctly from JavaScript - ASP.NET MVC

我正在使用d3js庫來繪制圖表。 這是我正在調用這樣的動作:

d3.json("CANCEL_REASON/Statistics2", function (data) {
....

我的控制器是這樣的:

 public class CANCEL_REASONController : Controller
    {
        private Entities3 db = new Entities3();

        public ActionResult Statistics()
        {
            return View();
        }

        public ActionResult Statistics2()
        {

        ///...
        return Json(data, JsonRequestBehavior.AllowGet);
        }

當我調試JavaScript時,我意識到它正在嘗試調用:

HTTP://本地主機:12345 / CANCEL_REASON / CANCEL_REASON / Statistics2

當我將js更改為:

d3.json("/Statistics2", function (data) {
....

它試圖稱之為:

HTTP://本地主機:12345 / Statistics2

我應該如何修改我的代碼,以便它可以調用:

HTTP://本地主機:12345 / CANCEL_REASON / Statistics2

謝謝。

使用@Url.Action razor helper以獲取正確的路徑。

@Url.Action生成action方法的完全限定URL。

d3.json('@Url.Action("Statistics2","CANCEL_REASON")', function (data) {

或者干脆

d3.json('/CANCEL_REASON/Statistics2', function (data) {

添加一個前導斜杠,你應該很高興:

d3.json("/CANCEL_REASON/Statistics2", function (data) { ... }

然后你的路徑將相對於根。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM