我在我的react应用程序中有以下Axios put请求。它正在调用Spring RestRepository资源。
axios.put(journal._links.self.href, journal)
.then(response => alert("Responded: " + JSON.stringify(response)))
.catch((error)=> {
if (error.response) {
// The request was made and the server responded with a status code
// that falls out of the range of 2xx
alert('Data: ' + error.response.data);
alert('Status: ' + error.response.status);
alert('Headers: ' + error.response.headers);
} else if (error.request) {
// The request was made but no response was received
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
// http.ClientRequest in node.js
alert('Request: ' + JSON.stringify(error.request));
alert('Error: ' + error.message);
} else {
// Something happened in setting up the request that triggered an Error
alert('Error: ' + error.message);
}
})
字符串
在Chrome中,我得到了预期的“已响应”响应。但在Safari中,我得到
Request: {}
Error: Network Error
型
在Firefox中,根本不会生成警告框,但控制台会显示
NS_ERROR_XPC_SECURITY_MANAGER_VETO
型
有什么办法能查出错误的根源吗
1条答案
按热度按时间omqzjyyz1#
显然,问题在于我使用
字符串
它的默认类型为
submit
,因此在Safari/Firefox尝试提交表单时存在争用条件。将type="button"
添加到button
标记中解决了这个问题,一切都按预期工作。