Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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
Javascript 如何在Angular和Java之间交互(在来回传递变量方面)?_Javascript_Java_Angularjs - Fatal编程技术网

Javascript 如何在Angular和Java之间交互(在来回传递变量方面)?

Javascript 如何在Angular和Java之间交互(在来回传递变量方面)?,javascript,java,angularjs,Javascript,Java,Angularjs,我正在尝试开发一个软件工具,人们可以输入一个ID,然后在后台使用第三方网站搜索该ID,搜索结果将以不同的方式显示在我的软件上。然而,我的前端是AngularJS,而后端代码都是Java。如何将数据传递给函数或类似函数?我的同事说了一些关于将值传递给控制器并使其与java程序交互的事情,但我不太明白他想说什么 但举个例子,让我的问题更清楚: 假设我有以下HTML/Angular代码: <div> Name: <br /> <input type

我正在尝试开发一个软件工具,人们可以输入一个ID,然后在后台使用第三方网站搜索该ID,搜索结果将以不同的方式显示在我的软件上。然而,我的前端是AngularJS,而后端代码都是Java。如何将数据传递给函数或类似函数?我的同事说了一些关于将值传递给控制器并使其与java程序交互的事情,但我不太明白他想说什么

但举个例子,让我的问题更清楚:

假设我有以下HTML/Angular代码:

<div>
    Name:
    <br />
    <input type="text" ng-model="name"> {{ name }} </input>
    <br />
</div>
<script src="angular.min.js"></script>

如何将变量“name”从第一个文件传递到java方法“letterCount”?

当后端代码都在java中时,您所说的
'是什么意思?

它在同一个项目中吗?(或)它是某些休息服务的一部分吗

如果您的后端代码是使用REST端点(URL)开发的,那么在Angular JS中使用它们来发布和获取数据


如果后端java代码是同一项目(MVC)的一部分,那么通常会有一个servlet(控制器)URL,您可以将数据发送到该URL以调用后端逻辑

控制器是javascript,即“.js”文件。它负责处理html页面中发生的事情。 在controller.js中调用java方法并将变量“name”传递给它,最好也使用一个服务方法

$scope.methodFromHtmlPage = function(name){
UrControllerToHandleThisModule.methodInSvc(name).then(
 function(response){
   // u have response data here
 },
 function(error){
   // do something
 }
现在在service.js中

function methodInSvc(name)
 return $http.post('http:// url to java method which will handle this req', name).then(
        function (response) {
            //do things on success
        },
        function (error) {
            //do things on error
        });
在java方法中使用@RequestBody…从UI端获取名称

public int letterCount(@RequestBody String name){
  return name.length();
}
public int letterCount(@RequestBody String name){
  return name.length();
}