感谢您投入时间阅读这篇文章。
我想在 XMLHttpRequest 中发送 GET 请求中的数据。
function useAjax(url,data){
const xhttp = new XMLHttpRequest();
xhttp.onload = function(e) {
const resData = JSON.parse(xhttp.responseText) ;
setResponseData(true,resData)
}
xhttp.open("GET", url, false);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(data);
}
我尝试更改开放函数参数,例如 xhttp.open("GET", url, [false,data]);
但还是没有结果
“Get”请求没有正文,要发送一些数据使用“POST”
对于基于 C# 的 API,您可以在方法签名中指定 [FromHeader],然后使用
XMLHttpRequest.setRequestHeader
... 发送标头中的对象
const xhr = new XMLHttpRequest();
xhr.open('GET', 'http://your-host/route/endpoint');
...
xhr.setRequestHeader('MyFilter', {"item":"value", "item":"value" })
xhr.send();
然后在你的控制器(C#)中:
[HttpGet("route/endpoint")]
public async Task<IActionResult> GetListOfMyObject([FromHeader] MyFilter filter)
{
var result = QueryForDataUsingObject(filter);
...
}
对象将自动反序列化为所需类型。