我有一个搜索栏,用户可以在其中输入州,城市或邮政编码,并返回结果列表。我所有的数据都来自我自己的数据集,这些数据集分为location_state,location_city和location_zip_code列。 如果我将查询硬编码到提取请求中,就可以使用户仅搜索一个值:
`http://localhost:8000/api/results?location_city=${this.state.searchTerm}`
但是,我不确定如何使查询根据用户键入的内容而变化。因此,如果用户键入邮政编码,则查询必须为location_zip_code=
或输入一个状态,它必须为location_state=
我尝试用参数等于搜索词的对象制作对象,但是正如您可以想象的那样,它会将所有这些参数添加到URL中,这是我所不希望的。到目前为止,这是我无法执行的操作:
fetchApi(method = 'GET', apiBody ) {
const params = {
location_city: this.state.searchTerm,
location_state: this.state.searchTerm,
location_zip_code: this.state.searchTerm,
};
const urlParams = new URLSearchParams(Object.entries(params));
fetch('http://localhost:8000/api/results?' + urlParams + `=${this.state.searchTerm}`, {
method: method,
headers: {
'content-type': 'application/json'
},
// rest of code that isn't relevant.
我完全不知道该怎么做。有人可以帮我吗?