Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JSON存储多个表单条目_Javascript_Json_Html_Local Storage - Fatal编程技术网

Javascript 使用JSON存储多个表单条目

Javascript 使用JSON存储多个表单条目,javascript,json,html,local-storage,Javascript,Json,Html,Local Storage,我正在尝试创建一个记录笔记的web应用程序,它将使用HTML5本地存储在客户端存储笔记。我认为JSON是实现这一点的方法,但不确定如何实现 我有一个带有标题和文本区域的简单表单。有没有一种方法可以让我提交表单并存储输入的详细信息以及几个“注释”,然后再将它们列出 我不熟悉Javascript和JSON,希望您能提供帮助。我编写了一个与实体框架类似的库。我会把它以后,你可以跟我在那里或与我联系,以获得源代码现在。然后您可以编写js代码,如: var DemoDbContext = function

我正在尝试创建一个记录笔记的web应用程序,它将使用HTML5本地存储在客户端存储笔记。我认为JSON是实现这一点的方法,但不确定如何实现

我有一个带有标题和文本区域的简单表单。有没有一种方法可以让我提交表单并存储输入的详细信息以及几个“注释”,然后再将它们列出


我不熟悉Javascript和JSON,希望您能提供帮助。

我编写了一个与实体框架类似的库。我会把它以后,你可以跟我在那里或与我联系,以获得源代码现在。然后您可以编写js代码,如:

var DemoDbContext = function(){ // define your db
    nova.data.DbContext.call(this);
    this.notes=new nova.data.Repository(...); // define your table
}
//todo: make DemoDbContext implement nova.data.DbContext
var Notes = function(){
    this.id=0; this.name="";
}
//todo: make Note implement nova.data.Entity
如何查询数据

var notes = new DemoDbContext().notes.toArray(function(data){});
如何向数据库添加注释

var db = new DemoDbContext();
db.notes.add(new Note(...));
db.saveChanges(callback);

根据要存储的信息的复杂性,您可能不需要JSON

您可以在HTML5中使用
localStorage
setItem()
方法在客户端保存密钥/值对。使用此方法只能存储字符串值,但如果笔记的结构不太复杂,这可能是最简单的方法。假设这是您正在使用的某个HTML:

<input type="text" id="title"></input>
<textarea id="notes"></textarea>
您可以使用
localStorage.getItem()
来检索这些值

我创建这些方法是为了向您展示这些方法是如何工作的(尽管没有使用与上面完全相同的代码;这一个依赖于keyup事件)

我可以看出,您可能希望使用JSON的唯一原因是,如果您需要一个具有注释深度的结构。例如,您可能希望附加注释,并将其放入如下结构中:

{
    'title': {
        'text':
        'date':
    }
    'notes': {
        'text':
        'date':
    }
}

那就是JSON。但是请记住,
localStorage.setItem()
方法只接受字符串值,要做到这一点,您需要将对象转换为字符串,然后在使用
localStorage.getItem()
检索时将其转换回。方法
JSON.stringify
将执行对象到字符串的转换,
JSON.parse
将执行相反的操作。但正如我所说的,这种转换意味着额外的代码,只有当您的笔记需要如此复杂时才真正值得

1> 你可以在HTML页面上创建一个函数,并调用ajax和post数据。 这里必须使用$(“#txtboxid”).val()。获取价值并发布它

2> 使用knockoutjs进行双向绑定,并调用ajax

下面是调用web应用程序的简单代码。使用ajax调用

var params = { "clientID": $("#txtboxid") };     

        $.ajax({
            type: "POST",
            url: "http:localhost/Services/LogisticsAppSuite.svc/Json/GetAllLevelSubClients",
            contentType: 'application/json',

            data: JSON.stringify(params),
            dataType: 'json',
            async: false,
            cache: false,
            success: function (response) {



            },
            error: function (ErrorResponse) {


            }
您退房了吗?这是完整的样本:
var params = { "clientID": $("#txtboxid") };     

        $.ajax({
            type: "POST",
            url: "http:localhost/Services/LogisticsAppSuite.svc/Json/GetAllLevelSubClients",
            contentType: 'application/json',

            data: JSON.stringify(params),
            dataType: 'json',
            async: false,
            cache: false,
            success: function (response) {



            },
            error: function (ErrorResponse) {


            }