您好我试图复制IOS应用中发生反应-native.I想使与在报头令牌的认证的GET请求。但是低于错误: 发生异常:SyntaxError SyntaxError:JSON中位置0上的意外令牌< 解析()
我尝试了以下代码:
let webPath = 'http://some.domain..svc/GetContactDetails?UserEmail=5555';
let request = {
method: 'GET',
headers: {
'Content-Type': 'application/json',
//'Authorization': 'Bearer ' + myToken, // won't works same error
//'Token': myToken, // won't works same error
'Authorization':{'Token':myToken}
},
//credentials: 'include',
}
fetch(webPath, request)
.then((response) => response.json())
.then((responseJson) => {
console.log(responseJson)
})
.catch((error) => {
console.error(error);
});
在IOS我这样做使用以下代码:
var request = URLRequest(url: url)
request.setValue("application/json", forHTTPHeaderField: "Accept")
let token_key = UserDefaults.standard.value(forKey: "token_key") as! String
request.setValue(token_key, forHTTPHeaderField: "Token")
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
任何帮助都会很感激。 预先感谢
答案 0 :(得分:1)
首先我的URL出现问题,如果遇到任何问题,请先几次检查您的代码。
第二,我在响应的_bodyText部分中接收到我的数据对象。因此需要一个JSON解析器将我的数据解析为JSON.parse(response._bodyText);所以下面的代码对我有用。
let request = {
method: "GET",
headers: {
'Content-Type': "application/json",
'Token': mytoken
}
};
fetch(webPath, request)
.then(response => {
return JSON.parse(response._bodyText);
})
.then(responseJson => {
console.log(responseJson);
const DataDict = responseJson;
console.log(DataDict);
let Status = DataDict["Status"];
})
.catch(error => {
console.error(error);
});
还通过resopnse.json()我得到了以下响应:
Promise {
13:54:17: "_40": 0,
13:54:17: "_55": null,
13:54:17: "_65": 0,
13:54:17: "_72": null,
13:54:17: }
答案 1 :(得分:0)
您发送的请求与响应无关。它的工作正常。问题是您得到的响应可能不是JSON,因此javascript无法解析它。您可以使用诸如https://jsonplaceholder.typicode.com/users
之类的虚拟api对其进行测试,以查看是否收到响应并正确解析了该响应。
参见以下代码。
function getMoviesFromApiAsync() {
return fetch('https://facebook.github.io/react-native/movies.json')
.then((response) => response.json())
.then((responseJson) => {
return responseJson.movies;
})
.catch((error) => {
console.error(error);
});
}
这是用于在官方React Native文档上从服务器获取数据的示例代码。 https://facebook.github.io/react-native/docs/network