Tôi có một hàm trả về kết quả (hoặc không). Vấn đề là khi nó không trả lại bất kỳ giá trị nào tôi nhận được trong bảng điều khiển, hãy nhắn tinjquery Không thể đọc thuộc tính 'thực hiện' không xác định - tránh điều này
cannot read property 'done' of undefined
Điều này đúng và tôi hiểu vấn đề. Ngoài ra, lỗi này không làm cho mã của tôi ngừng hoạt động, nhưng tôi muốn biết liệu có cơ hội tránh điều này không?
Các chức năng trong ajax là:
function getDelivery(){
var items = new Array();
$("#tab-delivery tr").each(function(){
items.push({"id" : $(this).find('.form-control').attr('id'), "id_option" : $(this).find('.form-control').val()});
});
if(items.length > 0){
return $.ajax({
url: 'response.php?type=getDelivery',
type: 'POST',
data: {content: items}
});
}
}
Và để gọi nó là tôi sử dụng:
getDelivery().done(function(data){ // the problem is here
if(data == false){
return;
}
});
Vì vậy, là có cách nào để tránh được những lỗi? Tôi đã cố gắng nhưng không thành công như sau:
if(items.length > 0){
return $.ajax({
url: 'response.php?type=getDelivery',
type: 'POST',
data: {content: items}
});
}else{
return false;
}
Và tôi nhận được lỗi:
Uncaught TypeError: undefined is not a function
Perfect. Sẽ chấp nhận câu trả lời trong 8 phút. Cảm ơn. – Linesofcode
'return $ .Deferred(). Resolve (false);' cũng hoạt động và tiết kiệm hơn một chút. –