1.使用ajax提交数据
$("#btnEp").click(function(){
var NewPassword = $("#txtNewPass").val();
var ReNewPassword = $("#txtRePass").val();
var temp = {"NewPassword":NewPassword};
if(NewPassword == ReNewPassword && ReNewPassword.length>0 && ReNewPassword.length<10){
$.post("UserAction_changePassword",temp,function(data){
alert(data);
},"json")
}
});
注意:1.var temp = {"NewPassword":NewPassword}; js不会对文字进行处理的
2.undefined与null是相等;NaN与任何值都不相等,与自己也不相等。
3.只要是ajax写了为json数据格式时,alert出来的都是object
2.在struts中使用request接受数据
(1)String NewPassword = (String) ServletActionContext.getRequest().getParameter("NewPassword");
注意:3.使用工具类解析收到的数据
public void textjson(){
String jsonStr = "[{'name':'jim','age':20},{'name':'king','age':26},{'name':'jge','age':30}]";
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
String name = "";
String age = "";
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonJ = jsonArray.getJSONObject(i);
name = jsonJ.getString("name");
age = jsonJ.getString("age");
System.out.println(name+age);
}
}
jim20
king26
jge30
注:将数据转换为json:http://blog.csdn.net/afdasfggasdf/article/details/78785027
4.页面js解析返回的json数据
注意:当使用ServletActionContext.getResponse().getWriter().write(f);向页面写数据用于判断的时候,页面并不知道
你写的类型,默认理解为对象所以js中写f=="1" 是不对的 ,这里应该先调用response说明ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
注:将json直接发到页面解析为[data,data]
我们在用ajax接受参数的时候,后面有参数json如果写了json表明传过来的参数必须是要满足json的格式条件:
1{ "firstName": "Brett" }
2{ "people": [
如果不满足将会导致json无法解析,如果我们没写格式默认就是文本格式,这时想用作json数据读取的时候就{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
]}
必须将转为json格式的数据var obj = eval ("(" + txt + ")");(官方方法但是不建议使用)
- var jsonlist = $('#list').val();
- if(jsonlist != '[]'){ //判断是否为空,否则JSON.parse会报错
- //解析方法1
- var list = JSON.parse(jsonlist);
- var list = $.parseJSON(jsonlist);
- var list = jQuery.parseJSON(jsonlist);
- //循环解析
- for(var i in list){//用for循环解析
- var mcid = list[i].mcid;//获取属性值
- }
- for(i = 0; i < list.length ; i++){//另一种for循环解析
- var mcid = list[i].mcid;//获取属性值
- }
- $(list).each(function(i,item){//用each循环
- var mcid = this.mcid;//获取属性值
- var mcid = list[i].mcid;//获取属性值
- var mcid = item.mcid;//获取属性值
- });
- }