2013-07-06 38 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']); 
相關問題