Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 具有多个参数的方法上的Dojo/JSON post请求?_Javascript_Json_Rest_Dojo_Resteasy - Fatal编程技术网

Javascript 具有多个参数的方法上的Dojo/JSON post请求?

Javascript 具有多个参数的方法上的Dojo/JSON post请求?,javascript,json,rest,dojo,resteasy,Javascript,Json,Rest,Dojo,Resteasy,这应该是最基本的,但我在rest端点上发布dojo中的多个参数时遇到了问题。我的后端通过resteasy暴露了以下方法 @POST() @Path("/updateProduct") @Consumes(MediaType.APPLICATION_JSON) public void updateGeneralSettings(String session,Product product) { System.out.println("session"+session); Syste

这应该是最基本的,但我在rest端点上发布dojo中的多个参数时遇到了问题。我的后端通过resteasy暴露了以下方法

@POST()
@Path("/updateProduct")
@Consumes(MediaType.APPLICATION_JSON)
public void updateGeneralSettings(String session,Product product) {
    System.out.println("session"+session);
    System.out.println("product"+product.toString);
}
仅以乘积作为参数,这种方法就可以很好地工作。我还没有弄清楚如何用另一个参数构建jason字符串。产品数据只是从表单绑定,这是我想附加的一些附加参数(即会话)


如果你们能给我一些解决方案,我将不胜感激。

尝试将参数名称添加到方法签名中:

public void updateGeneralSettings(@FormParam(“session”)字符串会话,@FormParam(“product”)产品)
然后是这样的:

var handler = request.post(url, {
    data: {
      session: session,
      product: jsonData
    },
    headers: {
      "Content-Type": 'application/json; charset=utf-8',
      "Accept": "application/json"
    }
});

你是怎么得到这个产品的?它是一个“domForm.toObject()”吗?由于“dojo.toJson(product)”的东西,它给出了+1,这救了我的命。Dojo似乎不喜欢只传递一个“json”变量,而不传递这个函数。
var handler = request.post(url, {
    data: {
      session: session,
      product: jsonData
    },
    headers: {
      "Content-Type": 'application/json; charset=utf-8',
      "Accept": "application/json"
    }
});