Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用方法post调用表单中的hateoas操作/链接_Html_Angularjs_Forms_Action_Hateoas - Fatal编程技术网

Html 使用方法post调用表单中的hateoas操作/链接

Html 使用方法post调用表单中的hateoas操作/链接,html,angularjs,forms,action,hateoas,Html,Angularjs,Forms,Action,Hateoas,我们正在使用hateoas调用后端链接。我们的HateoasWrapper如下所示(从浏览器控制台复制): 因此,我们可以这样简单地调用我们的链接:myObject.$load()(它从load调用href)。这个很好用 现在我尝试调用表单元素的操作中的$load()。为此,我将调用放在操作中,并使用submit如下所示: <form action="ctrl.myObject.$load()" method="post" target="_blank"> <input

我们正在使用
hateoas
调用后端链接。我们的HateoasWrapper如下所示(从浏览器控制台复制):

因此,我们可以这样简单地调用我们的链接:
myObject.$load()
(它从load调用href)。这个很好用

现在我尝试调用
表单
元素的
操作
中的
$load()
。为此,我将调用放在
操作中
,并使用
submit
如下所示:

<form action="ctrl.myObject.$load()" method="post" target="_blank">
    <input type="submit">
</form>

是否可以像我的解决方案一样,以
形式调用
hateoas
操作
。由于
action
不是标准的AngularJS指令/属性,因此AngularJS引擎无法理解传递的表达式

尝试将表达式
ctrl.myObject.$load()
用大括号括起来,如
{{ctrl.myObject.$load()}
,然后AngularJS将自动用函数的返回值替换它

在下面的代码片段中观察它的实际操作。打开检查面板,观察表单的
操作
属性中的内容

angular.module(“myapp”,[])
.controller(“myCtrl”,函数($scope){
$scope.myaction=函数(){
返回“abc”;
};
});

在控制台中检查此窗体的操作

尝试将您的操作方法更改为action=“ctrl.myObject.Links[0].Href”这可能会起作用,但有多个链接,我想用actionValue名称$[actionValue]来调用它,因为列表的顺序也是动态的(如果这是明确的)。如果有多个链接,您如何知道是哪个操作,使用哪个链接?@Vivz当你在我的问题中查看hatoeasWrapper时:在$actions中有一些链接。此链接有一个href和一个action值。此操作在包装器中生成一个类似$load()的函数。如果调用obj.$load(),hateoas将遍历$actions,搜索对象,其中包含actionValue中函数的名称,并调用它的href。因此,我不需要使用href,我只需调用$load()函数,它就可以用hatoeas为我解决这个问题。请使用
$load()
@MrBuggy的定义更新您的问题--您能告诉我
$load
函数的定义吗?
<form action="ctrl.myObject.$load()" method="post" target="_blank">
    <input type="submit">
</form>
<form action="http://myApi" method="post" target="_blank">
    <input type="submit">
</form>