簡體   English   中英

嘗試訪問 zomato 搜索 (axios) 時收到“請求失敗,狀態代碼:404”

[英]Getting a 'Request failed with status code:404' when trying to access zomato search (axios)

我剛剛開始學習 react-native 並遇到了一個問題。

我的目標是: 1- 使用搜索欄輸入關鍵字搜索我所在城市的餐館。 2- 我得到了 API 密鑰 3- 使用了 axios 4- 得到了基本 URL

現在,當我在模擬器屏幕上搜索關鍵字時,它會顯示錯誤並且不返回任何結果。

我附上了來自 2 個屏幕的代碼以及模擬器屏幕的屏幕截圖。 請幫幫我!

 import axios from 'axios'; export default axios.create({ baseURL:'https://developers.zomato.com/api/v2.1/search', headers:{ Authorization : 'Bearer b7510cd6146de7b9b81e17ddb7e0122b' } });

和搜索屏幕代碼

 import React, {useState} from 'react'; import {View,Text,StyleSheet} from 'react-native'; import SearchBar from '../components/searchBar'; import zomato from '../api/zomato'; const searchScreen = ()=>{ const [term,setTerm] = useState(''); const [results,setResults] = useState([]); const searchAPI = async () =>{ const response = await zomato.get('/',{ params:{ count:15, q:term, entity_id:4 } }); setResults(response.data.restaurants); }; return ( <View> <SearchBar term ={term} onChangeTerm = {setTerm} onTermSubmit = {searchAPI} /> <Text> Search Screen </Text> <Text>we found {results.length} results</Text> </View> ); }; const styles = StyleSheet.create({}); export default searchScreen;

模擬器屏幕

顯示錯誤 404,因為您發送的 URL 無效

在您的 Axios 實例中,您將基本路徑設置為

https://developers.zomato.com/api/v2.1/search

當您調用該實例時,您將使用"/search"附加您的基本路徑,如下所示,

await api.get('/search', { params: { count: 15, q: term, entity_id: 4 } })

現在您的最終到達網址如下所示

https://developers.zomato.com/api/v2.1/search/search?.....

要解決此問題,您可以從 Axios 實例中刪除/search或調用您的 axios 實例api.get('/', { params: { count: 15, q: term, entity_id: 4 } })

希望這對你有幫助。 如有疑問,請放心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM