寫了一段js代碼未實現一個下拉列表的選擇框,但是在這個過程中出現一個錯誤,尋找了需求。
function GetType(){
var tId = $("#typeId").val();
var options = "<option value=''>--請選擇--</option>";
var select = $("#selecttype");
select.empty();
$.post("${pageContext.request.contextPath}/car/getType.action",function(data){
$.each(data,function(i,item){
if(tId == item.dict_id){
options += "<option selected value=" + item.dict_id + ">" + item.dict_item_name + "</option>";
}else{
options += "<option value=" + item.dict_id + ">" + item.dict_item_name + "</option>";
}
});
select.append(options);
},"json");
}
然而,正確的卻是這樣
function GetType(){
var tId = $("#typeId").val();
var options = "<option value=''>--請選擇--</option>";
var select = $("#selecttype");
select.empty();
$.post("${pageContext.request.contextPath}/car/getType.action",{},function(data){
$.each(data,function(i,item){
if(tId == item.dict_id){
options += "<option selected value=" + item.dict_id + ">" + item.dict_item_name + "</option>";
}else{
options += "<option value=" + item.dict_id + ">" + item.dict_item_name + "</option>";
}
});
select.append(options);
},"json");
}
不仔細是發現不了區別的。
這樣兩個請求都是能夠獲取到數據,但是,前者返回的data卻不能夠被正常解析爲json,而是作爲字符串解析的。
目前還沒查詢原因,只能確認這個事實:
想要好好使用ajax的post提交,無論有沒有參數,請都別忘記‘{}’