Я работаю над небольшим проектом с использованием Python и Vue.js.В рамках этого проекта я делаю запрос axios, который должен быть массивом массивов, но возвращает строку.Строка выглядит так из моего ответа:
Но сначала я увидел этот ответ: Axios Данные запроса на получение возвращаются с «data: ↵ ↵ ↵ ↵» и похоже, что это мойвопрос.Однако, как я скажу позже в этом вопросе, я только что закончил делать подобный проект, и Axios работал отлично!Код был практически идентичен.Я вставил этот код в этот проект, и он работал!
"[↵ [↵ "United States", ↵ 86.19↵ ], ↵ [↵ …, ↵ 0↵ ], ↵ [↵ "US-France", ↵ 0↵ ]↵]↵"
Не должно быть так.Это должен быть массив массивов.Вот как выглядит мой запрос axios:
const path = 'http://localhost:5000/worldMapData';
axios.post(path, varietyObject)
.then((res) => {
console.log(res)
console.log(typeof res.data)
commit('setWineData', res.data)
})
.catch((error) => {
console.log(error);
});
Вот как выглядит маршрут Python:
@app.route('/worldMapData', methods=['GET', 'POST'])
def route_seven():
map = Map()
if request.method == 'POST':
post_data = request.get_json()
variety = post_data.get('variety')
wineData = map.get_wine_data(variety)
print(wineData)
return jsonify(wineData)
Теперь самое странное, как упоминалось ранее, это то, что я только что закончилпредыдущий проект делал то же самое без проблем.Я даже взял этот код, вставил его в свой текущий проект, и он работал нормально!Мне действительно любопытно, откуда возвращаются кареты в моем ответе.Вот еще один из ответов axios:
headers: {content-type: "application/json"}
request: XMLHttpRequest {onreadystatechange: ƒ, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …}
status: 200
statusText: "OK"
Если вам нужно увидеть код Python, на который делается запрос, здесь:
def get_wine_data(self, variety):
# print(self.data.dtypes)
#This list will hold all of the country and wine scores
wine_data = []
#Getting all distinct countries
countries = self.data.country.unique()
for country in countries:
#resetting the data for each loop
data = self.data
#This list will hold the data for a single country
single_country = []
data = data[(data.country == country) & (data.variety == variety)]
#Getting the mean score.
mean = data["points"].mean()
#changing the format of the mean
mean = float(format(mean, '.2f'))
if math.isnan(mean):
mean = 0
if country == 'US':
country = 'United States'
single_country.append(country)
single_country.append(mean)
wine_data.append(single_country)
return wine_data
Кстати, этоэто часть этого оригинального проекта:
data: Array(141), status: 200, statusText: "OK"
Это то, что я хочу увидеть в моем текущем проекте: data: Array (141) Наконец, прямо перед тем, как покинуть Python и Jsonifyинформация, прежде чем я отправлю его по типу данных, является спискомЛюбая помощь в этом вопросе будет оценена.