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

时间:2017-07-06 10:01:21

标签: javascript jquery asp.net json ajax

我是Asp.net的新手,结合了Javascript,我无法弄清楚要放入什么内容' url'从我的控制器(从我创建的实体框架数据库)获取数据。我一直收到错误提醒,因为获取数据并不成功。

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

namespace Pasapalabra.Controllers.Api
{
    public class QuestionsController : ApiController
    {
        private PasapalabraContext db = new PasapalabraContext();

        // GET: api/Questions
        public IList<Question> GetQuestions()
        {
            var questions = db.Questions.ToList();
            return questions;
        }

        // GET: api/Questions/5
        [ResponseType(typeof(Question))]
        public IHttpActionResult GetQuestionById(int id)
        {
            Question question = db.Questions.Find(id);
            if (question == null)
            {
                return NotFound();
            }

            return Ok(question);
        }
    }
}

我的观点(观点/问题/ Index.cshtml)

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

        function getQuestions() {
            $.ajax({
                url: '/api/Questions/',
                type: 'GET',
                dataType: 'json',
                success: function (data) {
                    return data;
                },
                error: function (error) {
                    alert("Error");
                }
            });
        }

1 个答案:

答案 0 :(得分:-1)

请更改您的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();
        }
      });
    }