【发布时间】:2015-10-30 06:55:58
【问题描述】:
我在Nancy 中实现了一个 REST API。我将 DELETE 用于以下端点:
Delete ["/usermanagement/{id}"] = parameters => {
repo.DeleteUser(parameters.id);
return Response.AsRedirect("/usermanagement");
};
我想从我的简单 html 页面调用这个端点。到目前为止,我想出了这个解决方案:
<button type="button" onclick="deleteUserWithID('@Current.ID')">Delete</button></td>
和 JS:
<script>
function deleteUserWithID( ID ){
var xhr = new XMLHttpRequest();
xhr.open( 'DELETE', 'usermanagement/' + ID, false );
xhr.setRequestHeader( 'Content-Type', 'text/html' );
xhr.send(null);
}
</script>
这工作,只要达到一个端点,做业务逻辑。问题是它不会返回AsRedirect("/usermanagement"); 即:它不会重新加载页面。我试图在没有上述任何 JS 的情况下直接从 POSTMAN 执行此端点,并且我得到了预期的 html (/usermanagement) 页面。
有没有人遇到过类似的问题?上面的 JS 可能有什么问题,它导致 Nancy 在从浏览器执行时不返回 /usermanagement 页面(通过 POSTMAN 执行时返回此页面)?试了好几个浏览器,都没有结果。
【问题讨论】:
标签: c# xmlhttprequest nancy