$.post()方法与GSON工具包将Object对象转换为JSON字符串

POST函数

jQuery.post(url, [data], [callback], [type])
概述
通过远程 HTTP POST 请求载入信息。
这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
参数
url,[data],[callback],[type]
data:待发送 Key/value 参数。
callback:发送成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。

jQuery中的$.post()方法

在AjaxProject工程中添加gson.2.2.4.jar工具包,用jQuery封装的post方法向后台AjaxjQueryServlet传递请求参数

<script type="text/javascript">

    $(function(){

        $("button").click(function(){

            //测试$.post()方法
            //url:发送请求地址。
            //data:待发送 Key/value 参数。
            //callback:发送成功时回调函数。
            //type:返回内容格式,xml, html, script, json, text, _default。
            $.post("AjaxjQueryServlet",{userName:"Tom2015"},function(data){

                //{"userPwd":"123456","userName":"Tom2015"}
                alert(data.userName+" "+data.userPwd);

            },"json");

        });

    });

</script>

后台AjaxjQueryServlet代码如下

public class AjaxjQueryServlet extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String userName = request.getParameter("userName");
        System.out.println("userName="+userName);

        //将要返回的数据封装到Map集合中
        Map<String, String> map = new HashMap<String, String>();
        map.put("userName", "Tom2015");
        map.put("userPwd", "123456");

        //Google提供的创建JSON字符串工具包:gson
        //1.导入JAR包:gson-2.2.4.jar
        //2.创建Gson对象
        Gson gson = new Gson();

        //3.调用gson对象的toJson(Object src)方法将对象转换为JSON字符串输出
        String json = gson.toJson(map);

        //4.设置响应的内容类型
        response.setContentType("text/josn;charset=UTF-8");

        //5.获取用于返回数据的字符输出流
        PrintWriter writer = response.getWriter();

        //6.返回响应数据
        writer.write(json);

    }
}

在web.xml文件中,配置AjaxjQueryServlet请求路径

<servlet>
    <servlet-name>AjaxjQueryServlet</servlet-name>
    <servlet-class>com.atguigu.ajax.servlet.AjaxjQueryServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>AjaxjQueryServlet</servlet-name>
    <url-pattern>/AjaxjQueryServlet</url-pattern>
</servlet-mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值