我有一个带有WireMock存根的AngularJS应用程序。有一个按钮使用以下代码调用方法/api/deleteThis:
onDeleteButtonClick() {
this._deleteThis()
.then(() => {
this._setState(States.SUCCESS);
})
.catch(() => {
this._setState(States.FAIL);
});
}
和
private _deleteThis() {
return this.$http.delete('http://localhost:8080/api/deleteThis');
}
我的WireMock文件:
{
"request" : {
"urlPattern" : "/api/deleteThis",
"method" : "DELETE"
},
"response" : {
"status" : 200,
"body" : "{}",
"headers" : {
"Content-Type": "application/json",
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "*",
"Access-Control-Allow-Headers": "Content-Type"
}
}
}
而且
{
"request" : {
"urlPattern" : "/api/deleteThis",
"method" : "OPTIONS"
},
"response": {
"status": 200,
"headers": {
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "POST, GET, OPTIONS, DELETE, PUT, PATCH",
"Access-Control-Allow-Headers": "Content-Type"
}
}
}
我期望的是:当函数激活时,它应该调用Mock并收到一个200。因此,各州应该走向成功。但相反,各州注定要失败。浏览器(firefox)网络选项卡显示已拨打200个电话,但这是一个选项,而不是删除。
我读过很多与CORS有关的类似问题。我理解为什么会进行选项调用,但我不理解为什么该方法在收到200(即使是另一种类型)时选择进入onRejected。
提前感谢您抽出时间。
也许你解决了这个问题,但我为其他人负责。
当您从角发送请求并且它与“GET”不同时,角发送两个请求(CORS策略):
因此,您需要在wiremock中创建两个存根:
{
"request" : {
"urlPattern" : "/api/deleteThis",
"method" : "OPTIONS"
},
"response" : {
"status" : 200,
"body" : "{}",
"headers" : {
"Content-Type": "application/json",
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "*",
"Access-Control-Allow-Headers": "Origin, Content-Type, X-Auth-Toke"
}
}
}
{
"request" : {
"urlPattern" : "/api/deleteThis",
"method" : "DELETE"
},
"response" : {
"status" : 200,
"body" : "{}",
"headers" : {
"Content-Type": "application/json",
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Headers": "Content-Type"
}
}
}
当做
要获取更多信息,请记录错误响应:
onDeleteButtonClick() {
this._deleteThis()
.then(() => {
this._setState(States.SUCCESS);
})
.catch((error) => {
console.log(error);
this._setState(States.FAIL);
});
}
请注意,在转向您之前,我已经浏览了各种帖子。事实上,我尝试实现中提供的解决方案:基于“notin”条件从数据帧中删除行 我的问题如下。让我们假设我有一个巨大的数据帧,我想删除重复的数据帧。我很清楚我可以使用drop_duplicates,因为这是最快的最简单的方法。然而,我们的老师希望我们创建一个包含重复项ID的列表,然后根据这些值是否包含在上述列表中删除它们。 现在,让我们看看输出: 因此,我得
我想使用页面而不是使用页面。但是当使用html页面时,我得到了错误。但是如果我使用jsp页面,我没有得到任何错误。 当我使用
问题内容: 我是AngularJS的新手。我进行了很多搜索,但是并不能解决我的问题。 我第一次在选择框中得到一个空白选项。 这是我的HTML代码 JS 但这似乎不起作用。我该如何解决?这是JSFiddle演示 问题答案: 当传递给的一组选项中不存在被引用的值时,将生成空值。这样做是为了防止意外选择模型:AngularJS可以看到初始模型是未定义的还是未在选项集中,并且不想自行决定模型的值。 简而言
问题内容: max@serv$ whoami max max@serv$ ls -la ./defines.php -rwxrwxrwx 1 max max 1985 2011-11-16 02:01 ./defines.php max@serv$ chmod 0777 ./defines.php max@serv$ rm ./defines.php rm: cannot remove `./de
我正在寻找某种方法,使一些@BeforeMethod逻辑只为一组java单元测试执行(使用testng)。因此,我继续了testng文档,发现了以下内容:
我正在使用以下访问被拒绝页面的配置 然后映射/不访问控制器。但当我尝试访问我无权访问的资源时,我会得到一个错误页面 浏览器中的HTTP状态404-/mycontext/noAccess 虽然当我键入整个urlhttp://abc.mycompany:8080/mycontext/noAccess我可以看到错误页面。知道为什么Spring不重定向到控制器吗?