react-native - React Native 请求失败,状态码为 400
问题描述
有没有人有使用此 API 的经验: https ://authenticjobs.com/api/docs#introduction
我已经在我的 React Native 项目中运行了几次实现迭代,我最初遇到了这个错误:
undefined 不是一个对象(评估'_ref.longitude')
现在我收到了这个错误:
请求失败,状态码 400
这是尝试记录data
此 API 请求对象的操作创建者。
import axios from "axios";
import reverseGeoCode from "latlng-to-zip";
import qs from "qs";
import { FETCH_JOBS } from "./types";
const JOB_ROOT_URL = "https://authenticjobs.com/api/?";
const JOB_QUERY_PARAMS = {
api_key: "5634cc46389d0d872723b8c46fba672c",
format: "json"
// latlong: 1,
// radius: 10,
// q: "javascript"
};
const buildJobsUrl = zip => {
const query = qs.stringify({ ...JOB_QUERY_PARAMS, l: zip });
return `${JOB_ROOT_URL}${query}`;
};
export const fetchJobs = region => async dispatch => {
try {
let zip = await reverseGeoCode(region);
const url = buildJobsUrl(zip);
let { data } = await axios.get(url);
dispatch({ type: FETCH_JOBS, payload: data });
console.log(data);
} catch (e) {
console.log(e);
}
};
解决方案
我让它与这个重构一起工作,尽管这会使我的应用程序朝着不同的方向发展:
import axios from "axios";
import { FETCH_JOBS } from "./types";
const JOB_ROOT_URL = "https://authenticjobs.com/api/?api_key=";
const JOB_QUERY_PARAMS = {
key: "a446a0eefe6f5699283g34f4d5b51fa0",
method: "aj.jobs.getLocations",
format: "json",
category: "javascript"
};
export const fetchJobs = region => async dispatch => {
try {
const url =
JOB_ROOT_URL +
JOB_QUERY_PARAMS.key +
"&method=" +
JOB_QUERY_PARAMS.method +
"&category=" +
JOB_QUERY_PARAMS.category +
"&format=" +
JOB_QUERY_PARAMS.format;
let { data } = await axios.get(url);
dispatch({ type: FETCH_JOBS, payload: data });
console.log(data);
} catch (e) {
console.log(e);
}
};
推荐阅读
- c# - 在为 API 请求形成 c# 对象时需要更好的设计
- python-3.x - 如何在 django 中上传保存的文件
- reactjs - 如何使用socket io在一个房间内向所有人广播一个用户
- django-rest-framework - 如何解决不起作用的权限类或逻辑
- javascript - 使用 Jimp 处理图像时,NodeJS 达到 6Gb
- vue.js - 如何在 Vue Quasar 中自定义构建文件位置
- oracle - Oracle 物化视图。构建延迟子句
- c - 在这个简单的函数调用堆栈中发生了什么?
- sql - 具有其他列值的 SQL SUM 函数
- flutter - 无法在 Chrome 中播放颤振音频