使用mobileFirst javascript适配器读取本地服务器.json文件

时间:2016-05-24 13:09:21

标签: javascript json ibm-mobilefirst mobilefirst-adapters

有什么方法可以从javascript http适配器读取.json文件(位于服务器中)? 我尝试了互联网中描述的很多方法,但它们似乎不起作用,因为它们是针对浏览器javascript制作的(我得到的错误就像没有定义XMLHttpRequest或者没有定义activeObject)。

例如,我使用了它,但它不起作用:

function readTextFile(file)
{
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", file, false);
    rawFile.onreadystatechange = function ()
    {
        if(rawFile.readyState === 4)
        {
            if(rawFile.status === 200 || rawFile.status == 0)
            {
                var allText = rawFile.responseText;
                return allText;
            }
        }
    }
    rawFile.send(null);
}  

有没有办法在不使用java的情况下做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用Javascript读取文件,如下所示。

generator

答案 1 :(得分:0)

对那些有兴趣使用Java的人。

您可以做的一件事是创建一个使用Java代码的Javascript适配器。设置起来非常简单。

首先创建一个Javascript适配器。

然后在server/lib文件夹下创建一个Java类。我在包ReadJSON.java下创建了课程com.sample.customcode

ReadJSON.java

public class ReadJSON {
    public static String readJSON() throws IOException {
       //Open File
        File file = new File("file.txt");
        BufferedReader reader = null;
        try {
           //Create the file reader
            reader = new BufferedReader(new FileReader(file));
            String text = null;

            //read file
            while ((text = reader.readLine()) != null) {}
        } finally {
             try {
                 //Close the stream
                 reader.close();
             } 
        }
        return "the text from file";
    }
}

在您的javascript适配器中,您可以使用以下Java方法:

function readJOSN() {
    var JSONfromServer = com.sample.customcode.ReadJSON.readJSON();
    return {
        result: JSONfromServer
    };

}

希望这有帮助。