Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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页面调用RESTWeb服务spring控制器,并使用ajax单独传递表单元素和调用_Html_Spring_Rest - Fatal编程技术网

从html页面调用RESTWeb服务spring控制器,并使用ajax单独传递表单元素和调用

从html页面调用RESTWeb服务spring控制器,并使用ajax单独传递表单元素和调用,html,spring,rest,Html,Spring,Rest,我有一个为我的应用程序创建新用户的控制器(用户使用MongoDB存储)。我使用postman工具成功地运行了带有@Path和@RequestBody注释的代码 现在我必须包括一个映射到我的控制器的UI。我尝试使用ajax传递值,这些值正在被传递(从我的浏览器中检查)。但是没有调用控制器 然后我尝试了@RequestMapping和@RequestBody注释,但在通过邮递员访问时,我收到了以下警告 警告:未找到与请求路径/Task1_2/Create/createUser匹配的根资源,相对路径:

我有一个为我的应用程序创建新用户的控制器(用户使用MongoDB存储)。我使用postman工具成功地运行了带有@Path和@RequestBody注释的代码

现在我必须包括一个映射到我的控制器的UI。我尝试使用ajax传递值,这些值正在被传递(从我的浏览器中检查)。但是没有调用控制器

然后我尝试了
@RequestMapping
@RequestBody
注释,但在通过邮递员访问时,我收到了以下警告 警告:未找到与请求路径/Task1_2/Create/createUser匹配的根资源,相对路径:/Create/createUser

最后,我尝试了所有三种注释
@Path
@RequestMapping
@RequestBody
,然后我在Postman中得到了响应

所有这些都是通过URI从Postman直接调用控制器来完成的

但是,现在我仍然无法在调用映射到控制器的HTML页面时在浏览器上获得任何响应

这是我的控制器

@RestController

@Path("/Create/")
@RequestMapping("/Create/")
public class CreateUser {
    @POST
    @Path("createUser")
    @RequestMapping(value="createUser",method=RequestMethod.POST,consumes="application/json")
    public Response Create(@RequestBody String request)
    {
    ..... 
    BasicDBObject obj = (BasicDBObject) JSON.parse(request);
    .....
    output = "@Produces(\"application/json\")"+"User Created Successfully";
    return Response.status(200).entity(output).build();
    }
这是我的ajax函数

function fun()
        {
            var search = {  UserName: $( "input[name='UserName']" ).val(), 
                            FirstName: $( "input[name='FirstName']" ).val(), 
                            LastName: $( "input[name='LastName']" ).val(),
                            Mobile: $( "input[name='Mobile']" ).val(),
                            EmailId: $( "input[name='Email']" ).val()
                    }
           $.ajax({
              type: "POST",
              contentType : 'application/json; charset=utf-8',
              dataType : 'json',
              url: "/Create/createUser",
              data: JSON.stringify(search), // Note it is important
              success :function(output) {
                  alert(output);
              },
              error: function(e){
                  alert('failure');
              }
          });
        }
我将包含上述脚本的HTML文件(CreateUser.HTML)保存在项目的WebContent文件夹中。 所以 1.我做错了什么?
2.我应该单独使用@Path和@RequestMapping吗?我认为这与您从Ajax发送的JSON格式有关

这将运行

function fun()
        {
            var search = {  UserName: $( "input[name='UserName']" ).val(), 
                            FirstName: $( "input[name='FirstName']" ).val(), 
                            LastName: $( "input[name='LastName']" ).val(),
                            Mobile: $( "input[name='Mobile']" ).val(),
                            EmailId: $( "input[name='Email']" ).val()
                    }
           $.ajax({
              type: "POST",
              contentType : 'application/json; charset=utf-8',
              dataType : 'json',
              url: "/Create/createUser",
              data: JSON.stringify({search : search }), // Note it is important
              success :function(output) {
                  alert(output);
              },
              error: function(e){
                  alert('failure');
              }
          });
        }