我正在尝试为我的React Native应用程序进行登录屏幕,但是我无法从我的Web API中获得身份验证令牌。
我和邮递员一起尝试,我可以获得令牌。
我尝试了Fetch Api和Adios发布,没有成功。
这是我的获取代码
fetch("https://ahmetkocadogan.a2hosted.com/token", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/x-www-form-urlencoded",
},
body: JSON.stringify({
grant_type: "password",
deviceId: "ahmet",
username: "ahmet",
password: "123456",
})
}).then(response => {console.log(response);})
.catch(error => {
console.log(error);
});
}
我的API令牌URL是:https://ahmetkocadogan.a2hosted.com/token
在Postman中,我将标题添加为Accept -Application/json,content -type-应用程序/x -www.form.urlencoded
和身体:grant_type-密码,用户名 - ahmet,密码-123456,deviceid -ahmet
我从Postman那里得到令牌。
有什么想法吗?我的获取代码有什么问题?
我通过使用React Native的提取而解决了它,并更改了我的请求标题的创建。
var headers = {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
}
var details = {
'username': 'ahmet',
'password': password,
'grant_type': 'password',
'deviceId': 'ahmet'
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
console.log('fetch baslıyor');
let result = await fetch(API_ROOT_URL + '/token', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formBody
});
let resultJson = await result.json();
现在起作用。