我编写了一个将表单提交到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();
}
在打开请求时,您可以从文档中获得以下五个参数:
void open(String method, String url, {bool async, String user, String password})
有关详细信息,请参阅here。
正如您所看到的,我已经使用了所有5个参数但由于某种原因我得到了这个错误:
2 positional arguments expected, but 5 found
有关原因的任何建议吗?
答案 0 :(得分:3)
正常参数称为位置参数(在本例中类似于方法和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']);