我试图通过我的应用中的表单更新基本数据库。更新通过此AJAX调用处理:
handleUpdate (e) {
let url = '/sites/' + this.props.site.id;
let site = {
name: this.refs.name.value,
city: this.refs.city.value,
state: this.refs.state.value,
country: this.refs.country.value,
};
e.preventDefault();
$.ajax({
method: 'PATCH',
url: url,
data: {site: site},
success: (site) => {
console.log("success");
}
});
}
控制器:
def update
@site = Site.find(params[:id])
if @site.update_attributes(site_params)
redirect_to('index')
else
render('edit')
end
end
当我点击更新时,我收到此错误:
PATCH http://localhost:3000/sites/2 net :: ERR_EMPTY_RESPONSE jquery.self-660adc5 ... .js?body = 1:10246
但是,当我刷新页面时,会对数据库进行更新,并显示更新的值。
为什么会发生这种情况?谢谢!