我对任何类型的编码都是完全没有发言权的。
我正在尝试使用第三方供应商公开的这个API。这些是电话的细节。
API的URL为PORT)/midsizeable/HJK/CheckerRun。
- Request Headers :
servicename:login
frontofficeid:Checker
id:Mobile
language:1
Content-Type:application/json
loginid:SYSADMIN1
Request Body:
{ "data" :
{ "attributes":
{ "loginId": "SYSADMIN1",
"password": "abcd1234",
"pmuv": "RTY"
}
}
}
以下是我尝试过的:
componentDidMount(){
var myHeaders = new Headers();
myHeaders.append('Accept' , 'application/json');
myHeaders.append('Content-Type' , 'application/json');
myHeaders.append('servicename' , 'login');
myHeaders.append('frontofficeid' , 'Checker');
myHeaders.append('id' , 'Mobile');
myHeaders.append('language' , 1);
myHeaders.append('loginid' , 'SYSADMIN1');
const myInit = {
method : "POST",
data : {
attributes: {
loginId: "SYSADMIN1",
password: "abcd1234",
pmuv: "RTY"
}
},
headers: myHeaders
};
var url="http://<HOST_IP>:<HOST_PORT>/midsizeable/HJK/CheckerRun"
var myRequest = new Request(url)
fetch(myRequest, myInit)
.then((response) => {
console.log(response)
return response.json();
})
.then((jsonObject) => {
console.log("BODY ")
console.log("This is Obj" , jsonObject)
this.setState({
message : jsonObject.id,
})
})
.catch((error) => {
console.log(error);
});
}
虽然这是可以运行的,但我得到了一个错误500(内部服务器错误)。同时,我还捕获了"SyntaxError: JSON中位于0"的意外令牌j。
我知道这不是内部服务器错误,因为当我在linux服务器上使用curl运行这个命令时,它给出了正确的运行。
我搜索了很多次,但在任何地方都找不到错误。请帮助构造API调用。
发布于 2018-08-09 04:13:39
您需要将请求正文中使用的对象转换为JSON字符串。
const myInit = {
method: "POST",
data: JSON.stringify({
attributes: {
loginId: "SYSADMIN1",
password: "abcd1234",
pmuv: "RTY"
}
}),
headers: myHeaders
};
https://stackoverflow.com/questions/51763523
复制