我在reactjs应用程序中有以下API调用:
static getAllSkills(title_id) {
const request = new Request(`http://localhost:4300/api/v1/job_title_skills`, {
method: 'GET',
headers: new Headers({
'Content-Type': 'application/json'
}),
body: JSON.stringify({title_id: title_id})
});
return fetch(request).then(response => {
return response.json();
}).catch(error => {
return error;
});
}
哪个指向Rails端点,它期望param title_id如此:
def index
@skills = Skill.where(id: params[:title_id])
....
end
控制器期待GET请求,但是上面提到了以下JS控制台错误:
Uncaught TypeError: Failed to construct 'Request': Request with GET/HEAD method cannot have body.
构造Request
并将参数传递给API的正确方法是什么?感谢
答案 0 :(得分:2)
我认为您的api中的网址正在等待title_id
或许像:
api/v1/job_title_skills/:title_id
因此,您可以在提出请求时将其附加到您的网址中:
static getAllSkills(title_id) {
const request = new Request(`http://localhost:4300/api/v1/job_title_skills/${title_id}`, {
headers: new Headers({
'Content-Type': 'application/json'
})
});
return fetch(request).then(response => {
return response.json();
}).catch(error => {
return error;
});
}