我成功通过 Postman 触发 POST 请求以检索 mobileSession 密钥。但是当我从 React Native 应用程序(通过 Axios)尝试相同的操作时,我收到一些参数丢失的错误。有人可以根据正在运行的 Postman 请求告诉我 Axios 出了什么问题吗?
邮递员:
和 Axios 代码:
export function getMobileSession() {
let requestOptions = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
let body = {
username: 'myusername',
password: 'mypw',
api_key: 'apikey',
api_sig: 'signature',
method: 'auth.getMobileSession',
format: 'json'
};
return axios.post('Lastfm_API_URL', JSON.stringify(body), requestOptions)
.then(response => {
return response;
})
.catch(err => {
throw err;
});
}
试试这个,
return axios.post(`https://ws/audioscrobbler.com/2.0/`, JSON.stringify(body), requestOptions)
.then(response => {
return response;
})
.catch(err => {
throw err;
});
欲了解更多信息,请参阅此处了解反勾。
你可以这样尝试。通过这种方式,您将获得正确的响应数据。
postUrlEncodedData = (data: { payload: any; endPoint: string; withCredentials?: boolean }) => {
const authorization = { Authorization: 'Bearer ' + `${tokenFromLocal}` };
const formDataEncoded = Object.keys(data.payload)
.map(key => encodeURIComponent(key) + '=' + JSON.stringify(data.payload[key]))
.join('&');
return axios.post(data.endPoint, formDataEncoded, {
timeout: 3000000,
baseURL: BaseUrl,
headers: Object.assign(
{ 'Content-Type': 'application/x-www-form-urlencoded' },
HeaderConfig,
authorization
)
});
};