我正在使用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://localhost:12345/CANCEL_REASON/CANCEL_REASON/Statistics2
当我将js更改为:
d3.json("/Statistics2", function (data) {
....
它试图称之为:
我应该如何修改我的代码,以便它可以调用它:
感谢。
答案 0 :(得分:2)
使用@Url.Action
razor助手以获取正确的路径。
@Url.Action
生成action
方法的完全限定网址。
d3.json('@Url.Action("Statistics2","CANCEL_REASON")', function (data) {
或者只是
d3.json('/CANCEL_REASON/Statistics2', function (data) {
答案 1 :(得分:1)
添加一个前导斜杠,你应该很高兴:
d3.json("/CANCEL_REASON/Statistics2", function (data) { ... }
然后你的路径将相对于根。