Hướng dẫn can javascript read server files? - javascript có thể đọc tệp máy chủ không?

Tôi có trên máy chủ web của mình một tập lệnh JS mà tôi muốn có thể đọc các tệp. Hệ thống tập tin của tôi như thế này:

> Root
index.html
read.js
> files
    file.txt

Trong ví dụ này, tệp "file.txt" sẽ chứa từ đơn giản "Xin chào"

Với JavaScript, tôi muốn có thể tạo một chức năng, ví dụ:

function read (path) {
    //Stuff to read the file with specified path
    var content = //whatever the content is
    return content;
}

Và sau đó có thể gọi nó với:

var file = read("/files/file.txt")

Và sau đó khi tôi làm

alert(file)

Nó sẽ bật lên với/cảnh báo bạn với "Xin chào", nội dung của File.txt.

Có cách nào mà tôi có thể làm điều này không?

Hỏi ngày 28 tháng 4 năm 2016 lúc 17:46Apr 28, 2016 at 17:46

Hướng dẫn can javascript read server files? - javascript có thể đọc tệp máy chủ không?

Đây là một trang web mẫu cho bạn:

http://sealevel.info/test_file_read.html

Đây là mã JavaScript:

// Synchronously read a text file from the web server with Ajax
//
// The filePath is relative to the web page folder.
// Example:   myStuff = loadFile("Chuuk_data.txt");
//
// You can also pass a full URL, like http://sealevel.info/Chuuk1_data.json, but there
// might be Access-Control-Allow-Origin issues. I found it works okay in Firefox, Edge,
// or Opera, and works in IE 11 if the server is configured properly, but in Chrome it only
// works if the domains exactly match (and note that "xyz.com" & "www.xyz.com" don't match).
// Otherwise Chrome reports an error:
//
//   No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://sealevel.info' is therefore not allowed access.
//
// That happens even when "Access-Control-Allow-Origin *" is configured in .htaccess,
// and even though I verified the headers returned (you can use a header-checker site like
// http://www.webconfs.com/http-header-check.php to check it). I think it's a Chrome bug.
function loadFile(filePath) {
  var result = null;
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET", filePath, false);
  xmlhttp.send();
  if (xmlhttp.status==200) {
    result = xmlhttp.responseText;
  }
  return result;
}

Đã trả lời ngày 14 tháng 12 năm 2016 lúc 1:11Dec 14, 2016 at 1:11

Dave Burtondave BurtonDave Burton

2.89228 Huy hiệu bạc19 Huy hiệu đồng28 silver badges19 bronze badges

2

Bạn muốn sử dụng XMLHttpRequest, giống như Gabriel đã đề xuất.

Bạn thực sự cần phải đọc nó, vì nó rất có thể cấu hình và bạn cần hiểu quy trình làm việc để thực hiện nó. Bạn sẽ gặp phải vấn đề ban đầu, nếu bạn đang có kịch bản gốc.

Đây là một ví dụ tôi đã chế giễu bạn:


Đã trả lời ngày 28 tháng 4 năm 2016 lúc 18:30Apr 28, 2016 at 18:30

Hướng dẫn can javascript read server files? - javascript có thể đọc tệp máy chủ không?

3

Đây là một nhiệm vụ rất đơn giản nếu bạn đang sử dụng jQuery - ví dụ dưới đây sẽ thực hiện yêu cầu HTTP GET (sử dụng xmlhttprequest.as được tham chiếu ở trên) và sẽ đặt nội dung vào đối tượng HTML DOM với ID của "Kết quả". Nó cũng sẽ ném một hộp cảnh báo lên sau khi tải hoàn thành.

$( "#result" ).load( "files/file.txt", function() {
  alert( "Load was performed." );
});

Đã trả lời ngày 28 tháng 4 năm 2016 lúc 18:03Apr 28, 2016 at 18:03

Những gì bạn đang tìm kiếm là xmlhttprequest.

Đã trả lời ngày 28 tháng 4 năm 2016 lúc 17:51Apr 28, 2016 at 17:51

2

Nó không đơn giản như âm thanh và bạn sẽ phải thực hiện một số nghiên cứu về máy chủ và máy khách.

Bạn không thể đọc dữ liệu phía máy chủ thông qua JavaScript trừ khi bạn có kết nối với máy chủ. Bất cứ mã JavaScript nào chạy trên trình duyệt của máy khách sẽ chỉ ở trên trình duyệt của họ, ngay cả khi cả hai đều được chạy trên cùng một máy tính. Những gì bạn cần là một cách để làm cho máy khách (trong trường hợp này, trang web HTML+JavaScript) liên lạc với máy chủ.

Có nhiều cách vô tận để làm điều này nhưng đơn giản nhất là thông qua yêu cầu nhận đến một máy chủ đang phục vụ tệp văn bản đó.

Hãy thử xem xét phục vụ các tệp tĩnh với NGINX hoặc có thể một cái gì đó như NodeJS, tùy thuộc vào những gì đáp ứng nhu cầu của bạn. Từ đó, tạo một điểm cuối nhận được rằng JavaScript của bạn sẽ kết nối thông qua XMLHTTPREQUEST (như @Mattw. Nói).

Đã trả lời ngày 28 tháng 4 năm 2016 lúc 17:54Apr 28, 2016 at 17:54

Hướng dẫn can javascript read server files? - javascript có thể đọc tệp máy chủ không?

SamuelnsamuelnSamuelN

1.2011 Huy hiệu vàng10 Huy hiệu bạc19 Huy hiệu đồng1 gold badge10 silver badges19 bronze badges

JavaScript có thể truy cập các tệp máy chủ không?

JavaScript thường không thể truy cập các tệp cục bộ trong các trình duyệt mới, nhưng đối tượng XMLHTTPrequest có thể được sử dụng để đọc các tệp. Vì vậy, nó thực sự là Ajax (và không phải JavaScript) đang đọc tệp.the XMLHttpRequest object can be used to read files. So it is actually Ajax (and not Javascript) which is reading the file.

JavaScript có thể tương tác với máy chủ không?

JavaScript trên máy chủ không chỉ có thể mà còn được khuyến nghị trong hầu hết các trường hợp.Nó nhanh, có thể mở rộng, giảm chi phí phát triển trong khi tăng tốc độ và chất lượng mã.Mỗi thành viên trong nhóm của bạn có thể làm việc trên tất cả các phần của dự án và thực hiện các tính năng từ đầu đến cuối.. It's fast, scalable, reduces development costs while increasing the speed and code quality. Every member of your team can work on all parts of the project and implement features from start to end.

Bạn có thể đọc các tệp trong JavaScript không?

Để đọc một tệp, hãy sử dụng Filereader, cho phép bạn đọc nội dung của một đối tượng tệp vào bộ nhớ.Bạn có thể hướng dẫn Filereader đọc một tệp dưới dạng bộ đệm mảng, URL dữ liệu hoặc văn bản.use FileReader , which enables you to read the content of a File object into memory. You can instruct FileReader to read a file as an array buffer, a data URL, or text.

JavaScript có thể ghi tệp trên máy máy chủ không?

Nó không thể ghi vào các tệp trên máy chủ mà không có sự trợ giúp của tập lệnh phía máy chủ.Sử dụng AJAX, JavaScript có thể gửi yêu cầu đến máy chủ.Yêu cầu này có thể đọc một tệp ở định dạng văn bản XML hoặc thuần túy nhưng nó không thể ghi vào tệp trừ khi tệp được gọi trên máy chủ thực sự chạy dưới dạng tập lệnh để thực hiện tệp ghi cho bạn. Without the Help of a Server-Side Script. Using Ajax, JavaScript can send a request to the server. This request can read a file in XML or plain text format but it cannot write to a file unless the file called on the server actually runs as a script to do the file write for you.