Parse single Javascript object in Jquery by $.ajax method
Khanh is a full stack web developer with over 15 years of experience developing for the web
Chưa thử test với Jquery phiên bản mới nhất, mới chạy trên bản 1.2.1 (dự án hiện tại đang dùng :(). Khi sử dụng $.ajax như bên dưới thì phát sinh lỗi:
$.ajax({ type: "POST", url: document.location.href, data: "card_type=" + cardType + "&card_number=" + cardNumber, dataType: 'JSON', cache: false, success: function(responses){ if(!responses.has_error) { alert("Please enter valid Card Number."); return false; } } });
thì bị lỗi. Mặc dù response là {'has_error': false;} nhưng lại không nhảy vào khối lệnh IF. Cách khắc phục rất đơn giản:
... success: function(responses){ var obj = eval('('+responses+')'); if(!obj .has_error) { alert("Please enter valid Card Number."); return false; } }
Lưu ý: Chỉ xảy ra lỗi này nếu response là single object, nếu nó là mảng các object thì cứ $.each rồi get theo key, val thì lại ko sao :(




