Tôi đang cố gắng sử dụng jQuery để gọi một số API tùy chỉnh qua số Ajax/$.getJSON
.
Tôi đang cố gắng chuyển giá trị tùy chỉnh vào phương thức gọi lại Ajax, nhưng giá trị đó không được chuyển qua và thực sự bị ghi đè. Đây là mã của tôi:
var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results, locationType) {
searchResults(results, locationType)
});
Giá trị của locationType
TRƯỚC tôi gọi là URL sử dụng AJAX là 3
. Nhưng sau khi cuộc gọi trả về dữ liệu thành công, giá trị cho locationType
hiện là success
. Điều này là do method signature of the callback là:
callback (dữ liệu, textStatus) Một callback chức năng đó được thực hiện nếu yêu cầu thành công.
Làm cách nào để chuyển 1 hoặc nhiều tham số cho phương thức gọi lại?
biến locationType là biến toàn cầu, do đó bạn không cần phải đặt nó như là tham số, trong hàm callback anonimus rằng biến là miễn phí nên nó là tìm kiếm trong môi trường xung quanh mà trong trường hợp này là môi trường toàn cầu. – jcubic
@jcubic - Nó không phải là biến * global * (có thể là, nhưng có lẽ không), chính xác hơn nó có sẵn trong phạm vi mà anh ta quan tâm. –