我正在尝试从React表单中获取信息并将其发布到我的Rails数据库中,但是出现错误"unexpected token '<' at position 0"
,这意味着我的响应仍然是HTML而不是JSON。
这是我的代码:
export const createCar = car => {
return dispatch => {
return fetch(`${API_URL}/cars/create`, {
method: "POST",
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({ car: car })
})
.then(response => response.json())
.then(car => {
dispatch(addCar(car))
dispatch(resetCarForm())
})
.catch(error => console.log(error + 'createCar POST failed'))
}
}
是否没有将其转换为JSON的原因?
此外,我似乎无法将调试器放到我的代码中,或者至少在此功能中-我需要导入它吗?
答案 0 :(得分:1)
我认为您的服务器向您发送了HTML,然后您尝试在response.json()
中解析它
在此块中使用try / catch:
export const createCar = car => {
return dispatch => {
return fetch(`${API_URL}/cars/create`, {
method: "POST",
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({ car: car })
})
.then(response => {
try {
return response.json()
} catch(error) {
console.error(error);
}
})
.then(car => {
dispatch(addCar(car))
dispatch(resetCarForm())
})
.catch(error => console.log(error + 'createCar POST failed'))
}