Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Json 调用从jquery ajax插入对象的Web服务方法_Json_Web Services_Jquery_Insert - Fatal编程技术网

Json 调用从jquery ajax插入对象的Web服务方法

Json 调用从jquery ajax插入对象的Web服务方法,json,web-services,jquery,insert,Json,Web Services,Jquery,Insert,我有一个与此类似的web服务方法: @Path("/insert_update") @POST @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public Object insert(User obj) { ...(insert and return object) } 我想使用ajax从jquery调用这个方法。我试过这样的方法: var rootURL = "htt

我有一个与此类似的web服务方法:

@Path("/insert_update")
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public Object insert(User obj) {
  ...(insert and return object)
}
我想使用ajax从jquery调用这个方法。我试过这样的方法:

var rootURL = "http://Path/to/my/web/service";

function insertUpdate() {
  var user = {'name' : $("#name").val(),
              'surname' : $("#surname").val(),
              'surname1' : $("#surname1").val(),
              'usertxt' : $("#usertxt").val(),
              'password' : $("#password").val() };
  $.ajax({
         url : rootURL + "/insert_update",
         type : "POST",
         contentType: 'json',
         dataType : "json",
         data : user,
         success : function(data) {
           alert(JSON.stringify(data));
         },
         error : function(data) {
         }
  });
}
@Path("/all")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Object all() {
  ...(get all users)
}
这个代码正确吗?当我尝试使用它时,我得到以下响应:

加载资源失败:访问控制允许标头不允许请求标头字段内容类型。 XMLHttpRequest无法加载。访问控制允许标头不允许请求标头字段内容类型

我希望你能帮助我

你好

更新

web服务位于同一台计算机中,但位于其他端口。我在websphereapplicationserver上运行web服务项目,然后只打开HTML文件来测试代码

我有其他方法我没有问题,比如:

var rootURL = "http://Path/to/my/web/service";

function insertUpdate() {
  var user = {'name' : $("#name").val(),
              'surname' : $("#surname").val(),
              'surname1' : $("#surname1").val(),
              'usertxt' : $("#usertxt").val(),
              'password' : $("#password").val() };
  $.ajax({
         url : rootURL + "/insert_update",
         type : "POST",
         contentType: 'json',
         dataType : "json",
         data : user,
         success : function(data) {
           alert(JSON.stringify(data));
         },
         error : function(data) {
         }
  });
}
@Path("/all")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Object all() {
  ...(get all users)
}
以及此代码的JQuery方法:

function all() {
$.ajax({
    url : rootURL + "/all",
    type : "GET",
    dataType : "json",
    success : function(data) {
        $("#tabla tbody:last").empty();
        $.each(data.data, function(i, item) {
            $("#tabla tbody:last").append("<tr><td>"+item.id+"</td><td>"+item.name+
                    "</td><td>"+item.surname+"</td><td>"+item.surname1+"</td><td>"
                    +item.usertxt+"</td><td>"+item.password+"</td></tr>");
        });
    },
    error : function(data) {

    }
});
}
这很好,我没有问题…但我必须为Chrome加载一个扩展来进行本地测试,允许控制允许源代码

为什么用GET方法我没有问题,用POST方法是吗


您好。

您是在呼叫我在不同机器上部署的服务吗?@Joshi我刚刚更新了帖子。