2011-09-10 24 views
5

tôi đã sử dụng đoạn mã sau để đọc một tập tin từ javascripttập đọc với kết quả XMLHttpRequest trong giao diện điều khiển entry lỗi

var filePath = "SBL_PROBES.txt"; 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.open("GET",filePath,false); 
    xmlhttp.send(null); 
    var fileContent = xmlhttp.responseText; 
    var fileArray = fileContent.split('\n') 
    var n = fileArray.length; 

Mọi thứ đi tốt đẹp và tôi có thể truy cập vào các nội dung tập tin từ fileArray. NHƯNG một lỗi xuất hiện trên bảng điều khiển lỗi firefox phàn nàn về nội dung của dòng 1 của tệp. Tôi không muốn các tập tin được giải thích bởi javascript hoặc firefox, tất cả tôi muốn là những nội dung mà tôi phân tích cú pháp với javascript.

Các firefox console nói

Lỗi: lỗi cú pháp Source File: file: /// C: /Documents%20and%20Settings/Mike/Desktop/mustache/SBL_PROBES.txt Line: 1, cột: 1 Source Code: "danh hiệu" "Short Name" "Long Name" "hiện tại", "tối đa", "tối thiểu", "ngày Max", "ngày Min"

Nếu tôi đặt <blockquote> </blockquote> trong tập tin, các lỗi biến mất!

Điều gì đang xảy ra và cách khắc phục?

Tôi có cần phải làm gì để đóng tệp không? Mọi thứ sẽ được dọn sạch khi những chiếc vars này ra khỏi phạm vi?

+0

Khiếu nại về chính xác, thông báo lỗi là gì? Dù sao, nó có thể là khả thi hơn để sử dụng một khuôn khổ cho các hoạt động Ajax như jQuery: http://api.jquery.com/jQuery.ajax/ mà irons ra sự không nhất quán giữa các trình duyệt –

+0

Lỗi là gì? Điều tương tự cũng xảy ra trong Chrome? –

+0

Tệp này nằm ở đâu? Bạn cần đặt URL đầy đủ làm tham số thứ hai cho 'xmlhttp.open()'. Một cái gì đó như 'xmlhttp.open (" GET "," http://mydomain.com/SBL_PROBES.txt ", false)'; – styfle

Trả lời

13

này nên sửa chữa nó:

xmlhttp.overrideMimeType('text/plain'); 

Theo mặc định có vẻ như tệp cục bộ được phân tích với XMLParser.

+1

Có nó sửa chữa nó! Cảm ơn rất nhiều! Tôi nghĩ rằng tôi sẽ để lại các thẻ

trong các tệp của tôi để đánh dấu phần bắt đầu và kết thúc, nó cũng làm cho chúng có thể hiển thị. Trình phân tích cú pháp của tôi có thể bỏ qua chúng. –

Các vấn đề liên quan