读json从angular发送的json

时间:2013-03-27 19:36:01

标签: javascript ajax json jsp angularjs

因此,在我的角度应用程序中,我正在尝试使用JSP处理服务器端的保存。我遇到的问题是,当使用Angular的$ save方法时,它会将对象数据(我正在保存的对象)作为JSON对象发送,但不会以任何方式发送。无法通过request.getParameter()访问该对象,并且在firebug中查看请求时,我可以看到它不发送JSON或具有任何参数。相反,它在“POST”部分发送json对象。我不太明白这里发生了什么。 ???

所以这就是我目前所知道的:

Angular中帖子的默认contentType是“application / json”,所以如果你将其改为“application / x-www-form-urlencoded; charset = utf-8”,你至少可以得到参数json对象使用request.getParameter()(如果你也改变了json对象的传输方式)

BUT

这首先不是问题,因为如果我使用jQuery.ajax()发出请求并将contentType设置为“application / json”然后将json对象作为数据传递,那么我仍然会得到json对象属性作为参数,所以我可以使用request.getParameter(),你只是不在url中获取查询字符串。

SOOO,我的问题是:

1)Angular发送数据的方式究竟发生了什么

2)有没有什么方法可以改变它,同时仍然可以使用$ resource $ save函数(改变$ http的contentType在使用$ resource方法时有一些不良影响),最重要的是

3)如果我无法改变它(或者即使我可以),你如何用它现在的工作方式解析JSP中的json数据。

非常感谢你的帮助,我无法相信我找不到这个,我一直在寻找。

1 个答案:

答案 0 :(得分:0)

好吧,如果有人想知道这件事:

我仍然不明白为什么角度和jquery" post"当给它们相同的dataType(" application / json")时,方法的行为不同,但据我所知,似乎Angular使用REST而我猜JQuery不会?

至于如何解析服务器端的json,请看这篇文章:Retrieving JSON Object Literal from HttpServletRequest