将变量的内容保存到文件中

时间:2015-07-28 07:18:55

标签: javascript jquery 4d-database

是否可以使用JQuery将变量的内容保存到文件中。

我有一个html表格(字母),稍后由用户保存和编辑 我在变量中捕获整个html文档,但现在我想将该变量写入文件并使用cron将其保存回数据库。

这是我到目前为止的代码

import java.util.regex.Pattern;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class HelloWorld {

public static void main(String[] args) {

    Connection.Response res = null;
    Document doc = null;
    Boolean OK = true;
    int start = 0;
    String query;
    ArrayList<String> tempList = new ArrayList<>();
    ArrayList<String> games = new ArrayList<>();
    Pattern r = Pattern.compile("title=\"(.*)\" a");

    try {   //first connection with GET request
        res = Jsoup.connect("https://play.google.com/store/apps/category/GAME_ACTION/collection/topselling_free")
                .method(Method.GET)
                .execute(); 
        doc = res.parse();
    } catch (Exception ex) {
        //Do some exception handling here
    }
    for (int i=1; i <= 60; i++) {    //parse the result and add it to the list
        query = "div.card:nth-child(" + i + ") > div:nth-child(1) > div:nth-child(3) > h2:nth-child(2) > a:nth-child(1)";
        tempList.add(doc.select(query).toString());
    }

    while (OK) {    //loop until you get the same results again
        start += 60;    
        System.out.println("now at number " + start);
        try {      //send post request for each new page
            doc = Jsoup.connect("https://play.google.com/store/apps/category/GAME_ACTION/collection/topselling_free?authuser=0")
                    .cookies(res.cookies())
                    .data("start", String.valueOf(start))
                    .data("num", "60")
                    .data("numChildren", "0") 
                    .data("ipf", "1")
                    .data("xhr", "1")
                    .post();
        } catch (Exception ex) {
            //Do some exception handling here
        }
        for (int i=1; i <= 60; i++) {    //parse the result and add it to the list
            query = "div.card:nth-child(" + i + ") > div:nth-child(1) > div:nth-child(3) > h2:nth-child(2) > a:nth-child(1)";
            if (!tempList.contains(doc.select(query).toString())) {
                tempList.add(doc.select(query).toString());
            } else {    //we've seen these games before, time to quit
                OK = false;
                break;
            }               
        }   
    }
    for (int i = 0; i < tempList.size(); i++) {    //remove all redundent info.
        Matcher m = r.matcher(tempList.get(i));
        if (m.find()) {
            games.add(m.group(1));
            System.out.println((i + 1) + " " + games.get(i));
        }           
    }
}
}

所以我想最终将$( document ).ready(function() { var isDirty = false; $("textarea").on("change", function() { isDirty = (this.defaultValue !== this.value); if (isDirty) this.defaultValue = this.value; }); $("input").on("change", function() { isDirty = (this.defaultValue !== this.value); if (isDirty) this.defaultValue = this.value; }); }); function getPageHTML() { var vDocText = "<html>" + $("html").html() + "</html>"; console.log(vDocText); } 的内容保存到文件中,并使用php cron进程将文件发送回4D(我的数据库)。

1 个答案:

答案 0 :(得分:3)

jQuery是一个JavaScript库,JavaScript是一种客户端语言,因此您无法将任何数据保存到文件中。您可以将数据传递给在服务器上存储内容的PHP脚本(例如,在数据库中),也可以将数据保存在客户端上(例如在Cookie中或使用Web Storage API)。

所以,回答你的问题:不,不可能使用jQuery将变量的内容保存到文件中。

但是,有certain plugins通过jQuery提供对本地文件系统的访问,但我不建议使用它们。根据设计,JavaScript无法访问本地文件系统(出于安全原因)。上述插件使用了一些 hacks 和变通方法来访问文件系统(ActiveX和Java applet)。

在我看来,最好的选择是发出AJAX request with jQuery并在服务器上安装PHP脚本,负责编写(和进一步处理)文件。