2013-07-06 3 views
4

Я написал функцию отправки формы в REST API. Вот код:при открытии HttpRequest Я получаю эту ошибку: 2 позиционных аргумента ожидаются, но найдено 5

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 

Любые предложения о том, почему?

ответ

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']); 

 Смежные вопросы

  • Нет связанных вопросов^_^