2

飞镖新手。

我正在开发一个简单的 Dart 程序来模拟传统的 Guess Animal 程序:用户想到一种动物,程序试图通过询问 Y/N 问题来猜测它。

我使用 Symfony 和一些简单的 RESTful 接口开发了我的后端,它在浏览器中运行良好。我现在正在使用 Dart 开发前端。代码如下所示。

现象:

  1. 单击“新建”按钮可以正常工作。getNextQuestion(questionId) 被正确调用,getNextQuestionComplete 也正确显示了问题和答案选择 (Y/N)。
  2. 单击 YES 链接并使用正确的问题 ID 调用 getNextQuestion(),但 req 对象的状态为 0,而不是 200。

有什么提示吗?

Rgds!

泰勒

import 'dart:html';
import 'dart:convert';

int questionId;
int yBranch;
int nBranch;

void main()
{
  init();
}

void init()
{
  // Hook up event handlers
  querySelector("#btnNew").onClick.listen(newGame);

  querySelector('#y').onClick.listen(getYBranch);
  querySelector('#n').onClick.listen(getNBranch);
}



void getYBranch(Event e)
{
  getNextQuestion(yBranch);
}

void getNBranch(Event e)
{
  getNextQuestion(nBranch);
}

void newGame(Event e)
{
  questionId=1;
  yBranch=-1;
  nBranch=-1;

  querySelector("#lblProgress").text="Game in progress...";
  querySelector('#gamearea').style.display="block";
  querySelector('#answerlinks').style.display="block";


  //Get Root Question
  getNextQuestion(questionId);
}

String getNextQuestion(questionId)
{
  var path='http://rsywx/app_dev.php/animal/getQuestionByID/$questionId';
  var req=new HttpRequest();
  req..open('GET', path)..onLoadEnd.listen((e)=>getNextQuestionComplete(req,    questionId))..send('');
}



void getNextQuestionComplete(HttpRequest req, qid)
{
  if(req.status==200)
  {
    Map res=JSON.decode(req.responseText);
    querySelector('#question').innerHtml=res['q'];
    querySelector('#qid').innerHtml=qid.toString();

    yBranch=res['y'];
    nBranch=res['n'];

  }

  req=null;
}
4

0 回答 0