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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $.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:
1
2
3
4
5
6
7
8
9
| ...
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