这个问题与sendData的HTTPRequest.request有点重复,似乎无法让它工作,但我现在有了更多的信息.这里的目标是发送附加了查询参数的GET请求.我最初试图发送我的请求:
HttpRequest request = new HttpRequest();
request.open("GET", _url, async:true);
request.onError.listen(_onLoadError, onError: _onLoadError);
request.send(sendData);
Run Code Online (Sandbox Code Playgroud)
其中sendData是一个遵循查询参数的正常格式的字符串(?myVariable = 2&myOtherVariable = a等),因为这是最终的目标.请求被发送,但我从未在任何监视工具(我使用Charles)中看到任何其他数据(sendData).然后我尝试了:
HttpRequest request = new HttpRequest();
request.open("GET", _url + sendData, async:true);
request.onError.listen(_onLoadError, onError: _onLoadError);
request.send();
Run Code Online (Sandbox Code Playgroud)
所以现在我只是将查询字符串附加到url本身.这按预期工作,但远非优雅.有更好的解决方案吗?
在GET请求中,您始终将查询字符串添加到URL?当您创建时,Uri如果您发现这更加优雅,则可以使用查询参数传入地图.
Map query = {'xx':'yy', 'zz' : 'ss'};
String url = "http://localhost:8080/myapp/signinService";
Uri uri = new Uri(path: url, queryParameters : query);
HttpRequest.getString(uri.toString().then((HttpRequest req) ...
Run Code Online (Sandbox Code Playgroud)