Различные параметры запроса, основанные на пользовательском вводе в строке поиска - PullRequest
0 голосов
/ 01 мая 2019

У меня есть панель поиска, где пользователь должен иметь возможность ввести штат, город или почтовый индекс и получить список результатов обратно.Все мои данные взяты из моего собственного набора данных, разделенного на столбцы 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. 

Я полностью застрял на том, как это сделать.Кто-нибудь может мне помочь с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...