麻烦它给了我404(未找到) - 点击我的提交后

时间:2016-08-28 00:25:51

标签: javascript c# angularjs

这就是我用尽全力展示内容的方式。但是当我这样的时候。点击提交,您将看到此错误

  

http://localhost:57298/Opgaver/FindTask/3/Jesper无法加载资源:服务器响应状态为404(未找到)

我的json位于正确的文件夹中,等等。仅当我点击提交内容

时才会出现错误

我没有在 RouteConfig.cs 文件中写到关于文件和angularjs的相关信息。

Load.js

var app = angular.module('Opgaver', []);
app.controller('OpgaverCheck', function ($scope, $http) {

    //Must make it here when I click submit.
    $scope.CheckValue = function (module) {
        //console.log("Hello world " + module.Id + " - " + module.text);

        //GET
        $scope.$watch("module.Id", function() {
            var url = "/Opgaver/FindTask/" + module.Id + "/" + module.text;

            $http.get(url).success(function (response) {
                //It must give a response back from json it is succe or error.
                $scope.jsonMessage = response;
            })
        })
    }
}); 

当我运行我的console.log时,那就是我想要的。

OpgaverController.Cs

[HttpGet]
    public JsonResult FindTask(int Id, string Text)
    {
        var db = Helpers.HelperToTables.DbValue;
        var valuetext = Text.ToLower();

        var check = db.LektionerOpgaves.FirstOrDefault(i => i.fk_LektionerId == Id && i.CorrectAnswer.Equals(valuetext));
        if (check != null)
        {
            //succes
            return Json("Succes");
        }
        else
        {
            //Error
            return Json("Error");
        }
    }

2 个答案:

答案 0 :(得分:2)

从我可以看到的路线的正确URI(如果你没有修改RouteConfig.cs内的默认路由)是以下一个:

http://localhost:57298/Opgaver/FindTask/3?Text=Jesper

那是因为Text参数没有映射到路由中的任何内容,因此它将被映射为查询字符串参数。

如果您需要在路线中映射它,您应该为特定地图创建自定义路线,您会在official documentation内找到更多信息。

答案 1 :(得分:0)

试试这个:

var url = "/Opgaver/FindTask?Id=module.Id&Text=module.text;