2012-07-20 36 views
25

Làm cách nào để tải nội dung của tệp vào biến thay vì DOM bằng phương pháp jQuery .load()?Cách tải nội dung của tệp vào biến bằng phương pháp tải jquery?

Ví dụ,

$("#logList").load("logFile", function(response){ }); 

Thay vì tải các tập tin vào các yếu tố #logList của DOM, tôi muốn nó để nạp vào một biến.

+0

Đừng sử dụng ' .load() 'sau đó, sử dụng phương thức khác http://api.jquery.com/category/ajax/shorthand-methods/. –

+0

Điều này nên được đưa vào [câu hỏi cuối cùng của bạn] (http://stackoverflow.com/questions/11582920/how-to-check-if-file-is-empty-before-loading-using-jquery-load-method) – MrOBrian

Trả lời

28

load() chỉ là một phím tắt cho $.get rằng atuomagically chèn nội dung vào một phần tử DOM, vì vậy làm:

$.get("logFile", function(response) { 
    var logfile = response; 
}); 
15

Bạn có thể sử dụng $.get() để bắt đầu yêu cầu GET. Trong callback thành công, bạn có thể thiết lập kết quả để biến của bạn:

var stuff; 
$.get('logFile', function (response) { 
    stuff = response; 
}); 

Xin lưu ý rằng đây là một không đồng bộ hoạt động. Hàm gọi lại sẽ chạy khi hoạt động được hoàn thành, vì vậy các lệnh sau $.get(...) sẽ được thực hiện trước.

Đó là lý do sau đây sẽ đăng nhập undefined:

var stuff; 
$.get('logFile', function (var) { 
    stuff = var; 
}); 
console.log(stuff); //undefined 
Các vấn đề liên quan