获取 GET 请求获取 400(错误请求)

时间:2021-05-19 10:28:04

标签: javascript reactjs fetch query-string get-request

在 fetch() 中将查询字符串传递给 URL 时出现“GET 400 bad request”错误

import React, { useState, useEffect } from 'react';

import Card from '../UI/Card';
import './Search.css';

const Search = React.memo(props => {
 const { onLoadIngredients } = props;
 const [enteredFilter, setEnteredFilter] = useState('');

 useEffect(() => {
  const query = enteredFilter.length === 0 ? '' : `?orderBy="title"&equalTo="${enteredFilter}"`;
  fetch('https://react-hooks-update-45be2-default-rtdb.firebaseio.com/ingredients.json/' + query)
  .then(response => response.json())
  .then(responseData => {
    const loadedIngredients = [];
    for (const key in responseData) {
      loadedIngredients.push({
        id: key,
        title: responseData[key].title,
        amount: responseData[key].amount
      });
    }
    onLoadIngredients(loadedIngredients);
  });
}, [enteredFilter, onLoadIngredients]);

return (
<section className="search">
  <Card>
    <div className="search-input">
      <label>Filter by Title</label>
      <input
        type="text"
        value={enteredFilter}
        onChange={event => setEnteredFilter(event.target.value)}
      />
    </div>
  </Card>
</section>
);
});

export default Search;

这是错误信息: Search.js:15 GET https://react-hooks-update-45be2-default-rtdb.firebaseio.com/ingredients.json/?orderBy=%22title%22&equalTo=%22Apple%22 400(错误请求)

0 个答案:

没有答案