angular POST无法使用servlet

时间:2017-04-30 10:49:39

标签: angularjs json ajax servlets

我正在尝试使用angularjs POST(或甚至GET)来使用以下内容:

var json = { hello: "world" }

var deffered = $q.defer();
$http({
    method: "POST",
    url: url,
    headers: { "Content-Type" : "application/json" },
    request: JSON.stringify(json)
}).then(data) {
     if(data.data) {
          deferred.resolve({
               response : data
          });
     )
})
return deffered.promise;
在servlet中,

简单:

String val = request.getParameter("request")
它似乎永远不会看到它 我试过了:

data: JSON.stringify({ request: json })
data: { request: json }
"request" : JSON.stringify(json)

如果我注释掉getParameter并使用Gson返回一个通用值

JsonObject json = new JsonObject();
json.addProperty("This", "works");
response.getWriter().print(new Gson().toJson(json));

回来很好所以在角度POST中有什么我在这里做错了吗?我也尝试过使用" GET"相反,但结果相同。

编辑:我想了解POST方法和"正确的"如果getParameter错误请从json对象获取数据的方法请

1 个答案:

答案 0 :(得分:-1)

getParameter()返回http请求参数,您应该使用以下命令添加此参数:

params: JSON.stringify(json) 

不是

request: JSON.stringify(json)

查看params in getparams in post