我正在尝试创建一个笔记网络应用程序,它将使用 HTML5 本地存储简单地存储笔记客户端。我认为 JSON 是这样做的方法,但不确定如何去做。
我有一个带有标题和文本区域的简单表单。有没有办法我可以提交表单并存储使用几个“注释”输入的详细信息,然后将它们列出来?
我是 Javascript 和 JSON 的新手,因此我们将不胜感激。
我正在尝试创建一个笔记网络应用程序,它将使用 HTML5 本地存储简单地存储笔记客户端。我认为 JSON 是这样做的方法,但不确定如何去做。
我有一个带有标题和文本区域的简单表单。有没有办法我可以提交表单并存储使用几个“注释”输入的详细信息,然后将它们列出来?
我是 Javascript 和 JSON 的新手,因此我们将不胜感激。
json的使用方法有很多。
1> 你可以在 HTML 页面上创建一个函数并调用 ajax 和发布数据。在这里你必须使用 $("#txtboxid").val()。获取价值并发布它。
2> 使用knock out js绑定两种方式,调用ajax。
这是调用网络应用程序的简单代码。使用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) {
}
我编写了一个类似于实体框架的库。我稍后会放在这里,你可以关注我或联系我获取源代码。然后你可以编写类似的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 中的setItem()
方法localStorage
在客户端保存键/值对。您只能使用此方法存储字符串值,但如果您的笔记没有太复杂的结构,这可能是最简单的方法。假设这是您使用的一些 HTML:
<input type="text" id="title"></input>
<textarea id="notes"></textarea>
您可以使用这个简单的 Javascript 代码来存储信息:
// on trigger (e.g. clicking a save button, or pressing a key)
localStorage.setItem('title', document.getElementById('title').value);
localStorage.setItem('textarea', document.getElementById('notes').value);
您将使用它localStorage.getItem()
来检索值。
这是我创建的一个简单的 JSFiddle,用于向您展示这些方法是如何工作的(尽管没有使用与上面完全相同的代码;这个依赖于 keyup 事件)。
我可以看到,您可能想要使用 JSON 的唯一原因是您是否需要一个对您的笔记有深度的结构。例如,您可能希望附上带有诸如撰写日期之类的信息的注释,并将它们放在如下结构中:
{
'title': {
'text':
'date':
}
'notes': {
'text':
'date':
}
}
那将是 JSON。但请记住,该localStorage.setItem()
方法仅接受字符串值,您需要将对象转换为字符串来执行此操作,然后在使用localStorage.getItem()
. 这些方法JSON.stringify
将执行对象到字符串的转换,JSON.parse
并将执行相反的操作。但正如我所说,这种转换意味着额外的代码,只有当你的笔记需要那么复杂时才真正值得。