不就是传个 json字符串 嘛? 加这个干吗contentType:"application/json;charset=utf-8",

解决方案 »

  1.   

    你用Firefox的dubug工具看一下,你发出的请求时什么?看着写的是对的。
      

  2.   

    你把type由post改为get应该就可以了。用post的话,应该是getAttribute试一下,
      

  3.   

    那你在js里alert出来的也没有数值吗?
      

  4.   

    为啥自己将数据转成json格式呢???你写了dataType:"json",  后台获取的数据格式就是json格式的,试试这个:var kidy = "user="+$("#username").val()+"&pwd="+$("#password").val();   data:{"myjson":jsonTo}, 该为data:kidy,    后台就可以获取到数据了。。var  user = request.getParameter("user");  String pwd = request.getParameter("pwd");
      

  5.   

    你把data:{"myjson":jsonTo}里面的“myjson”改为myjson 去掉双引号试试。但是这样的话要在后台把字符串转换为json对象才能循环取出。我也不知道行不行,你可以试试。
      

  6.   


    哥们别乱说,getAttribute是用于获得域对象的,无论是get,post方式只要是得到传递的参数都是使用getParameter();关于解决这个问题的办法:
    首先你看看你的访问路径对不对,可不可以到达后台,如果可以到达后台,那么我有几点需要指出的地方var kidy = {user:$("#username").val(),pass:$("#password").val()};$.ajax({
    url:"LongServlet",
    type:"post",
    data:{"myjson":kidy},
    dataType:"json",
    contentType:"application/json;charset=utf-8",
    cache:"false"
    });

    后台获取:
    String myjson=request.getParameter("myjson");
    如果你需要转成JSOn,你可以使用JSon-lib包中的方法
    JSONArray.fromObject(myjson);
    你看看具体的方法,一般来说前台传递过来de json数据后台一般是用相应的类来接收希望对你有所帮助
      

  7.   

    你将前台的代码进行更改一下:$.ajax({
    url:"LongServlet?myjson="+kidy,type:"post",dataType:"json",
    contentType:"application/json;charset=utf-8",
    cache:"false"
    });

    写在地址栏的后面、、