ajax請求之post入參爲空存在的問題

寫了一段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提交,無論有沒有參數,請都別忘記‘{}’

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章