//打开数据库
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
//html请求数据
function testXmlHttpRequest() {
var xmlRequest = ajaxFunction();
//获取IP 端口号
// var uname = document.getElementById('username').value;
//window.alert(xmlRequest);
//2.注册客户端的回调函数
xmlRequest.onreadystatechange = function() {
//3.判断服务器响应的状态值
if(xmlRequest.readyState == 4) {
//获取服务器端发送的信息
var messageFromServer = xmlRequest.responseText;
document.getElementById('displayUsername').innerHTML =
"<font color='red'>" + messageFromServer + "</font>";

// var obj = new Function("return" + messageFromServer)(); //转换后的JSON对象
var objxx = {
user_db: [{
id: '001',
loginname: 'yang',
cname: 'yangsi',
password: 'yang123'
}, {
id: '002',
loginname: 'zhang',
cname: 'zhangsi',
password: 'zhang123'
}],
member_db: [{
a: '001',
b: 'zhang',
c: '花火',
d: 'zhang123'
}, {
a: '001',
b: 'zhang',
c: '二月红',
d: 'zhang123'
}]
};

// json字符串的解析
// var show = obj.data.upload;
// document.getElementById('displayData').innerHTML =
// "<font color='red'>" + show + "</font>";
// for(var i = 0; i < 10; i++) { //模拟多条json数据
// //假数据
// var id = "001";
// var loginname = "yang";
// var cname = "杨博伟";
// var password = "yang123";
//
// //插入数据
//
// db.transaction(function(tx) {
// tx.executeSql('CREATE TABLE IF NOT EXISTS user_db (id text,loginname text,cname text,password text)');
// tx.executeSql('insert into user_db values(?,?,?,?)', [id, loginname, cname, password]);
// });
//
// }
parseJsonaddtable(objxx); //将数据解析并建表插入
//读一张用户表数据,form显示
var list = document.getElementById("list");
db.transaction(function(tx) {
//如果数据表不存在,则创建数据表 
tx.executeSql('create table if not exists user_db(id text,loginname text,cname text,password text)', []);
//查询所有联系人记录 
tx.executeSql('select * from user_db order by id desc', [], function(tx, rs) {
if(rs.rows.length > 0) {
var result = "<table>";
result += "<tr><th>序号</th><th>ID</th><th>登录名</th><th>巡检人</th><th>密码</th></tr>";
for(var i = 0; i < rs.rows.length; i++) {
var row = rs.rows.item(i);

//拼装一个表格的行节点 
result += "<tr><td>" + (i + 1) + "</td><td>" + row.id + "</td><td>" + row.loginname + "</td><td>" + row.cname + "</td><td>" + row.password + "</td></tr>";
}
list.innerHTML = result;
} else {
list.innerHTML = "添加联系人";
}
});
});

}
}
//4.open方法指定请求服务器的url地址,拼接IP,端口号
var url = "http://server.jeasonlzy.com/OkHttpUtils/upload";

xmlRequest.open("GET", url, true);
//5.发送
xmlRequest.send(null);
}

function parseJsonaddtable(objxx) {
for(var key in objxx) { //一级键
//key 数据表名
var tablename = key;
var str1 = "";
var str2 = "";
var jsonarr = objxx[key]; //json对象[]
for(var index in jsonarr) {
var sqlstr1 = "";
var sqlstr2 = "";
var subjson = jsonarr[index]; //json数据的具体一个json对象

var num = 0;
var key_values = new Array();
for(var key in subjson) {
//遍历对象键
//key 对象的每一个键
// var subkey = key;

key_values[num] = subjson[key]; //对象的每一个键对应的值
num = num + 1;
//xuyaoqu掉逗号
sqlstr1 = sqlstr1 + key + " text,";
sqlstr2 = sqlstr2 + "?,";

}
//' (name text,phone text,company text,createtime INTEGER)'
//去逗号sqlstr1 sqlstr2
str1 = sqlstr1.substring(0, sqlstr1.length - 1);
sqlstr1 = "";
str2 = sqlstr2.substring(0, sqlstr2.length - 1);
sqlstr2 = "";
//插入表数据

// alert('create table if not exists ' + tablename + '(' + str1 + ')');
// alert('insert into ' + tablename + ' values(' + str2 + ')' + ',' + key_values.toString());
db.transaction(function(tx) { //如果数据表不存在,则创建数据表

tx.executeSql('CREATE TABLE IF NOT EXISTS ' +tablename+ ' (' + str1 + ')');
tx.executeSql('insert into ' + tablename + ' values(' + str2 + ')', key_values);

});
str1 = "";
str2 = "";
}

}
}

//1.创建XmlHttpRequest对象(浏览器不同则创建的方法不同)
function ajaxFunction() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
} catch(e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
return xmlHttp;
}
//登录验证
//获取输入值
//分别在数据库查询条件查询,返回结果results不为空

/*function gotonewye() {
window.location.href = "index01.html";
}*/

function isOkmethod() {

var Usename = document.getElementById("usenames").value;
var PassWord = document.getElementById("passwords").value;

db.transaction(function(tx) {

//如果数据表不存在,则创建数据表 
tx.executeSql('create table if not exists user_db(id text,loginname text,cname text,password text)', []);
//查询所有联系人记录 
tx.executeSql('select * from user_db where loginname=? and password=?', [Usename, PassWord], function(tx, rs) {
var len = rs.rows.length;
if(len > 0) {
alert("验证成功!");
window.location.href = "menu.html";
} else {
alert("验证失败!");
window.location.href = "loginError.html";
}
});
});

}

js中请求URL获得json数据,将数据解析并建表插入相关推荐

  1. php批量请求url_php中请求url的五种方法总结

    本文主要给大家介绍了关于php中请求url的五种方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 五种方法: 前三种都是php基本的文件操作函数 curl()是php扩展需要开启,l ...

  2. js encodeurl java接收_在JS中encodeURI(url)怎样才能不出现乱码?

    这次给大家带来在JS中encodeURI(url)怎样才能不出现乱码?,在JS中使用encodeURI(url)的注意事项有哪些,下面就是实战案例,一起来看一下. 一般情况下, 发送 encodeUR ...

  3. js中string字符串转换为JSON对象 - 方法大全(4种)

    js中string字符串转换为JSON对象 - 方法大全(4种) jQuery插件支持的转换方式: 示例: //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对 ...

  4. JS中数组(Array)、Json对象长度(length)获取方法

    JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...

  5. node.js中的url.parse方法

    学习node.js中的url.parse方法 文章目录 前言 一.URL模块之parse方法详解 1.参数 2.实例 例子1:url.parse只传一个参数的情况 例子2:url.parse第二个参数 ...

  6. js ajax的请求地址不正确,使用香草JS AJAX请求访问本地JSON文件时出现CORS错误?...

    我正在尝试使用香草JS AJAX请求从本地存储的JSON文件中拉回JSON字符串(特别是尝试不使用JQuery)-以下代码基于此答案 -但我在Chrome控制台中不断收到错误(见下文).有什么想法我要 ...

  7. js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

  8. js中自定义对象、json对象、json字符串、普通js对象

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

  9. 浅入浅出JS中的eval及json

    声明: 首先声明一下,本人是JS新手,所以不敢说深入,只是把最近对eval的学习经验拿出来跟大家分享,如果您是高手可略去不看. 适合读者: 对JS中的eval一知半解,不知eval是如何把字符串转换为 ...

最新文章

  1. Solr部署如何启动
  2. [转帖]tar高级教程:增量备份、定时备份、网络备份
  3. 桌面程序调用Web Service应用实例
  4. 2021牛客暑期多校训练营8 OR 相加和与和或-dfs判断假设情况是否有矛盾
  5. 科大星云诗社动态20210326
  6. 名为 cursor_jinserted 的游标不存在_性能优化技巧 - 程序游标
  7. 如何进行MaxCompute 用户认证?
  8. python统计图教程_Python利用matplotlib绘制约数个数统计图示例
  9. POJ_1062_(dijkstra)
  10. 一起看一下主流应用使用了哪些三方库
  11. 盘一盘 Thread源码
  12. springboot自动配置_揭秘SpringBoot自动化配置
  13. 新鲜出炉,Python 告诉你程序员最关注的技术竟然是……
  14. Clojure的并发(七)pmap、pvalues和pcalls
  15. cocos2dx游戏开发简单入门视频教程 (cocos2d-x)- 第5天
  16. SQL Server 审计操作概念
  17. 多线程获取不到HttpContext
  18. SEO之搜索引擎简史
  19. MATLAB信号的带宽估计及求带宽(3dB,90%带宽)
  20. Tomcat,Servlet,JSP之间是什么关系?

热门文章

  1. Codeforces Gym 101158E Infallibly Crack Perplexing Cryptarithm Gym [语法分析]
  2. Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
  3. AWS系列之三 使用EBS
  4. 看我怎么把别人的女朋友搞到手的(二)
  5. Debug时 Eclipse左侧边栏的白色箭头是什么意思?
  6. Linux系统firewall防火墙策略
  7. 《论文翻译》 GIOU
  8. 美团无人车收到首张罚单 低速无人车到底该怎么管?
  9. Win10微软商店怎么改中文?
  10. java根据模板导出PDF详细教程(无bug版)