Javascript 获取错误/api/Questions/404(未找到)

Javascript 获取错误/api/Questions/404(未找到),javascript,jquery,asp.net,json,ajax,Javascript,Jquery,Asp.net,Json,Ajax,我是Asp.net与Javascript结合的新手,我不知道在“url”中放入什么来从控制器(从我创建的实体框架数据库)获取数据。我一直收到错误警报,因为获取数据失败 我的控制器(控制器/Api/QuestionsController) 请更改您的ajax调用,如下所示 function getQuestions(callback) { $.ajax({ url: '/Questions/GetQuestions', type: '

我是Asp.net与Javascript结合的新手,我不知道在“url”中放入什么来从控制器(从我创建的实体框架数据库)获取数据。我一直收到错误警报,因为获取数据失败

我的控制器(控制器/Api/QuestionsController)


请更改您的ajax调用,如下所示

function getQuestions(callback) {
        $.ajax({
            url: '/Questions/GetQuestions',
            type: 'GET',
            dataType: 'json',
            success: function (data) {
                callback(data);
            },
            error: function (error) {
                alert("Error");
            }
        });
    }
问题的第二部分是您无法从这样的异步调用返回

function keepPlaying() {
        getQuestions(function(questions){
        if (questions.length !== 0) {
            getRandomQuestion('A');
        } else {
            gameOver();
        }
      });
    }

谢谢,但仍然不工作,现在它只是说:加载资源失败:服务器响应状态为404(未找到)。它在浏览器上工作吗?我的意思是,也可以尝试不使用API,因为您没有路由前缀。我再次修改了答案,并将getQuestions移至非api问题控制器。现在我仍然收到错误警报,但浏览器中的控制台没有说404找不到了。现在它只是说:“uncaughttypeerror:无法读取未定义的属性‘length’”。所以我还是不能得到我的数据库数据。伙计,这到底有多困难(谢谢你的帮助。这意味着我们解决了这个问题。现在你有了另一个问题。再次检查我的答案。可能需要一些修改:)我没有调试你的代码。查看javascript中的信息异步链接是否缺少一些路由?Routeconfig.cs重定向到另一个控制器(也称为QuestionsController,但这一个只是为了查看,它不是api,也不在api文件夹中,所以我认为这不是问题?):routes.MapRoute(名称:“Default”,url:“{controller}”/{action}/{id}”,默认值:new{controller=“Questions”,action=“Index”,id=urlparmeter.Optional});
function getQuestions(callback) {
        $.ajax({
            url: '/Questions/GetQuestions',
            type: 'GET',
            dataType: 'json',
            success: function (data) {
                callback(data);
            },
            error: function (error) {
                alert("Error");
            }
        });
    }
function keepPlaying() {
        getQuestions(function(questions){
        if (questions.length !== 0) {
            getRandomQuestion('A');
        } else {
            gameOver();
        }
      });
    }