使用javascript调用java webservice

时间:2016-05-10 10:12:38

标签: javascript java ajax web-services

我使用netbeans中的模式创建了一个java Restfull webservice,并在一台机器上运行该项目。如何在javascript

中从另一台机器调用此Web服务

webservice类是

package com.gdb.webapi;


import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.Produces;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import static javax.ws.rs.HttpMethod.POST;
import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PUT;
import javax.ws.rs.core.MediaType;


/**
 * REST Web Service
 *
 * @author suhail
 */
@Path("displaylist")
public class DisplaylistResource {

    @Context
    private UriInfo context;

    /**
     * Creates a new instance of DisplaylistResource
     */
    public DisplaylistResource() {
    }

    /**
     * Retrieves representation of an instance of
     * com.gdb.appconstant.DisplaylistResource
     *
     * @return an instance of java.lang.String
     */
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String getJson() {
        //TODO return proper representation object
        throw new UnsupportedOperationException();
    }

    /**
     * PUT method for updating or creating an instance of DisplaylistResource
     *
     * @param content representation for the resource
     */
    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public String putJson(String content) throws ParseException {
        System.out.println(content);
        return "true";
    }



}

我想使用ajax调用post方法

2 个答案:

答案 0 :(得分:0)

创建服务电话的路径。 http://YOUR知识产权/项目名称/行动名称。

例如

 function fun() 
{
   var data="hello";
   $.get("http://localhost/projectNAME/HelloWorld", function(response) {
        data = response;
   }).error(function(){
  alert("Sorry could not proceed");
});

   return data;
}

并为方法添加@path注释,它将决定调用哪个方法。

答案 1 :(得分:0)

我会使用 fetch polyfill - > https://github.com/github/fetch。查看自述文件,了解如何将数据发布到REST服务:

fetch('/users', {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'Hubot',
    login: 'hubot',
  })
})