最近在使用easyui框架時,遇到了一個奇怪的問題,就是無法把表單數據轉換成json格式。最初以為是代碼寫錯,仔細檢查之后才發現是轉換json失敗導致的。
$("#form").form("submit", {
url: "xxx.action",
success: function (result) {
var data = $.parseJSON(result);
console.log(data);
}
});
在提交表單時,使用了easyui提供的form組件,通過傳入success回調來獲取服務器返回的數據。然后,把result轉換成json格式保存到data中,最后打印出來。
但是問題來了,data是undefined。通過斷點調試后發現,result其實就是json格式的數據,而非字符串。所以無論如何也無法通過$.parseJSON方法來轉換了。
查看easyui的文檔和源代碼發現,form組件在提交數據時,會自動將表單數據轉換成json格式,然后發送到服務器。如果success回調中再次轉換肯定會出問題。
$("#form").form("submit", {
url: "xxx.action",
success: function (data) {
console.log(data);
}
});
最終修改后的代碼如上所示,去掉了$.parseJSON方法,直接把result作為json格式的數據解析即可。
總體來說,這個問題雖然簡單,但也是easyui比較特殊的一點,需要特別注意。
上一篇python 簡書作者
下一篇python 策略 換月