使用JQuery读取文本文件

时间:2013-07-28 01:57:43

标签: jquery json asp.net-mvc-3 asp.net-mvc-4

我有以下问题:我想用JQuery读取一个txt文件并将其放在div中,但我还是没有找到这样做并解决我的问题。我有这段代码:

<script type="text/javascript">
$(getImages);
function getImages() {
    $.getJSON("/home/ListImagesProducts", showImages);
}

function showImages(data) {
    $("#directoryImages").append("<ul id = 'productImages'>");
    for (i = 0; i < data.length; i++) {
        var directories = data[i];
        $("#directoryImages ul").append("<li><img src='../Content/images/Products/" + directories.ImageName + "' /><add value='" + directories.DescriptionName + "'</li>");
    }
    //$("#directoryImages").append("</ ul>");
}
</script> 

来自&lt;添加...&gt;我想要包含该文件,但它无法正常工作。在我的Controller中包含此函数值的方法是这样的:

 public ActionResult ListImagesProducts() {
     List < string > tempImages = new List < string > ();
     List < string > tempDescription = new List < string > ();

     Directory directory;
     //Marca o diretório a ser listado
     DirectoryInfo diretorio = new DirectoryInfo(@"C:\Users\Lucas\Desktop\Lucas B\Tutoriais\Programação\Programas de Teste\ThreeJay\ThreeJay\Content\images\Products");
     //Executa função GetFile(Lista os arquivos desejados de acordo com o parametro)
     FileInfo[] Images = diretorio.GetFiles("*.jpg");
     FileInfo[] Description = diretorio.GetFiles("*.txt");

     List < Directory > model = new List < Directory > ();

     foreach(FileInfo fileinfo in Images) {
         tempImages.Add(fileinfo.Name);
     }

     foreach(FileInfo fileinfo in Description) {
         tempDescription.Add(fileinfo.Name);
     }

     for (int i = 0; i < tempImages.Count; i++) {
         directory = new Directory();
         directory.ImageName = tempImages.ElementAt(i);
         directory.DescriptionName = tempDescription.ElementAt(i);

         model.Insert(i, directory);
     }

     var ficheiro = model;

     return Json(ficheiro, JsonRequestBehavior.AllowGet);
 }

但我想通过JQuery阅读文本文件。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

我没有关注你的代码但如果你想用JQuery读取文本文件,你可以使用.load方法

 $(function () {
     $('#elementID').load('sample.txt');
 });

由于file:// access problem,它无法在本地使用chrome。请使用Firefox检查。

答案 1 :(得分:0)

'text请求中使用$.get()'数据类型。

$.get('file_to_read.txt', function(data) {
     $(element).text(data);
}, 'text');

或者您可以在jQuery中使用ajax加载函数调用

$("element").load("'file_to_read.txt");