4

フォームを REST API に送信する関数を作成しました。コードは次のとおりです。

HttpRequest request;
void submitForm(Event e) {
   e.preventDefault(); // Don't do the default submit.

   request = new HttpRequest();

   request.onReadyStateChange.listen(onData); 

   // POST the data to the server.
   var url = 'http://127.0.0.1:8000/api/v1/users';
   request.open('GET', url, true, theData['userName'], theData['password']);
   request.send();
}

ドキュメントから、リクエストを開くときに次のように 5 つの引数を指定できます。

void open(String method, String url, {bool async, String user, String password})

詳しくはこちらをご覧ください。

ご覧のとおり、許可されている 5 つの引数をすべて使用しましたが、何らかの理由で次のエラーが発生します。

2 positional arguments expected, but 5 found

理由について何か提案はありますか?

4

1 に答える 1

3

通常の引数は位置引数と呼ばれます (この場合は method や url など)。中括弧内の引数は、オプションの名前付きパラメーターです。

void open(String method, String url, {bool async, String user, String password})

これらはオプションです。必要ない場合は渡す必要はありません。呼び出し中の順序は重要ではありません。それらを渡す必要がある場合は、名前とコロンを前に付けます。あなたの場合:

request.open('GET', url, async: true, user: theData['userName'], password: theData['password']);
于 2013-07-06T18:38:49.153 に答える