JSON 发布未定义的数据
JSON posting undefined data
我在JSON
中遇到问题。
不擅长JSON
所以我找不到问题所在。
这是JSP
代码。
$(document).ready(
function(){
window.onload = dept_select;
$("#sales_dept_id").change(dept_select);
//alert("$("#sales_sabn_id").val() : "+$("#sales_sabn_id").val());
//alert("!!");
}
);
var dept_select = function(){
var deptId =$("#sales_dept_id").val();
var sabnId =$("#sales_sabn_id").val();
alert(deptId);
alert("sabnId : "+sabnId);
$.ajax({
type:"POST",
url:"/servlet/servlet.json.JSonSalesSabnRequestServer",
data:{"sales_dept_id": deptId
},
dataType:"JSON",
success:function(jsonData){
alert("jsonData : " +jsonData);
//alert("jsonDatalength : " +Object.keys(jsonData).length);
//var aa=JSON.parse(jsonData);
//alert("aa : " +aa);
//alert(jsonData[0].sales_sabn_id);
var str = "<option value=''>SEL</option>";
for(var i = 0; i<jsonData.length;i++){
if(sabnId == jsonData[i].sales_sabn_id){
str = str+"<option value='"+jsonData[i].sales_sabn_id+"' selected >"+ jsonData[i].sales_sabn_name+"</option>";
}else{
str = str+"<option value='"+jsonData[i].sales_sabn_id+"'>"+ jsonData[i].sales_sabn_name+"</option>";
}
}
alert("str : " +str);
$("#sales_sabn_id").empty().append(str);
},
error:function(xhr, status, err){
alert(status+", "+xhr.readyState+" "+err);
}
});
我可以得到
'alert("jsonData : " +jsonData);'
它会发出警报。
但是jsonData.length
太大了,jsonData[i].sales_sabn_id
都是不确定的。
请帮忙..
这是数据集
try {
request.setCharacterEncoding("utf-8");
String sales_dept_id = StringUtil.getNullCheck((String)request.getParameter("sales_dept_id"));
//FileUtil.writeLog("[JSonSalesSabnRequestServer.java] sales_dept_id = " + sales_dept_id);
DataUtil dataUtil = new DataUtil();
ArrayList objList = dataUtil.getSaleSabn(sales_dept_id);
for(int i = 0; i < objList.size(); i++){
JSONObject obj =new JSONObject();
HashMap map = (HashMap)objList.get(i);
FileUtil.writeLog("SABN : "+(String)map.get("SABN"));
FileUtil.writeLog("SABN_NAME : "+(String)map.get("SABN_NAME"));
obj.put("sales_sabn_id",map.get("SABN"));
obj.put("sales_sabn_name",map.get("SABN_NAME"));
objArry.add(obj);
}
response.setHeader("Cache-Control", "no-cache");
response.setCharacterEncoding("utf-8");
response.getWriter().write( objArry.toString() );
FileUtil.writeLog("objArry.toString() : "+objArry.toString());
}
你得到的是一个对象数组。因此,如果 JSON 数据是 JSON 字符串,则需要对其进行解析,然后对其进行迭代。
$.ajax({
type:"POST",
url:"/servlet/servlet.json.JSonSalesSabnRequestServer",
data:{"sales_dept_id": deptId
},
dataType:"JSON",
success:function(jsonData){
alert("jsonData : " +jsonData);
var parsedJSON = JSON.parse(jsonData); // only if its a json string
console.log(parsedJSON.length); // check length of the array
var str = "<option value=''>SEL</option>";
for(var i = 0; i < parsedJSON.length; i++ ){
console.log(parsedJSON[i].sales_sabn_id); // printing the id
if(sabnId == parsedJSON[i].sales_sabn_id){
str = str+"<option value='"+parsedJSON[i].sales_sabn_id+"' selected >"+ parsedJSON[i].sales_sabn_name+"</option>";
}else{
str = str+"<option value='"+parsedJSON[i].sales_sabn_id+"'>"+ parsedJSON[i].sales_sabn_name+"</option>";
}
}
alert("str : " +str);
$("#sales_sabn_id").empty().append(str);
},
error:function(xhr, status, err){
alert(status+", "+xhr.readyState+" "+err);
}
});
相关文章:
- 一台特定计算机的Ajax请求数据未定义/失败
- Chart.js2.X中的条形值-数据集元数据未定义
- Jquery从JSON获取数据(未定义)
- jsFunction'当事件启动器在表单内时,s数据未定义
- 在 Node.js 中生成一个子进程,数据未定义
- jQuery几乎赢得了我 - UI自动完成“数据未定义”
- 在脚本中从电子表格中获取数据:“未定义数据表”
- jQuery自动完成数据未定义错误
- mvc函数返回的AJAX调用数据未定义
- Angular UI路由器解析数据未定义
- Qtip数据未定义错误
- Ajax表单提交+引导验证程序正在工作.现在"数据未定义”;错误
- bodyParser(urlencodedParser)数据未定义
- ReceiveMessage事件显示数据未定义
- ie9上的Ajax调用(成功数据-未定义)
- 插入的数据未定义,然后在数据库中显示为一个数字
- Ajax post数据未定义
- 美元.getJSON数据未定义
- javascript数据未定义
- JS HighCharts.JS代码中出现Pie数据未定义错误