jQuery 与 JSON
Posted 前端开发学习和交流
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery 与 JSON相关的知识,希望对你有一定的参考价值。
使用HTTP向服务器发送数据有两种方法:GET和POST。GET和POST的主要区别是数据以何种方式发送到服务器。GET将表单域名和值对追加到URL的末尾。php可以从一个关联数组$_GET[]读取这个信息,这个关联数组会在提交表单时发送到服务器。URL中?后面的数据是可见的。
POST也会发送数据,同样通过一个关联数组发送,但是编码方式不同,另外URL中的数据对最终用户不可见。$_POST[]关联数组包含由表单元素得到的所有信息。与$_GET[]数组类似,也是由表单元素名和值组成的一系列名/值对。
向服务器发送信息之前(使用Ajax),需把数据串行化为一个对象,这样Ajax调用就可以把它作为一个数据包发送。jQuery提供了两个表单辅助方法来完成数据的串行化:serialize和serializeArray。前一个方法会把所有表单输入连接起来构成一个键/值对组成的串,各个键/值对之间用&号分割。后一个方法将创建一个键/值对关联数组,这仍是一个对象,但是与简单的serialize方法的结果相比,结构更为清晰。
<form id="my_form">
<input type="text" name="a" value="1"/>
<input type="text" name="b" value="2"/>
</form>
$("#my_form").serialize(); //a=1&b=2
$("#my_form").serializeArray(); //[{name:"a",value:"1"},{name:"b",value:"2"}]
jQuery提供了一个快捷方式post,这个方法专门用来向服务器发送数据。post方法有多个参数;
$.post(url_to_send,data,function(json){});
url_to_send:数据要发送到哪里
data:想要发送的数据,已经串行化
function(json){}:运行这个回调函数,json:返回的数据,放在一个名为JSON的对象中。
insert_into [table_name] (column_name1,column_name2,column_name3) values ('value1','value2','value3');
insert语句主要用来一次插入一个记录。
[table_name]:告诉语句将把数据放在哪个表中
column_name1:用','号分割的一个“列”列表,数据将放在这里。
values:关键字“values”告诉语句“列”列表结束,后面是具体的数据。
'value1':要放入表的一个数据列表,数据之间用','分割,与之前的“列”列表对应。
注意:列名和值的顺序很重要,值必须完全按照列的顺序列出,数据库就是利用这一点才能知道数据放到哪里。
<?php
mysql_connect ('127.0.0.1','runner_db_user','runner_db_password') OR die('Could not connect to database.');
mysql_select_db('hfjq_race_info');
//127.0.0.1:数据库所在的服务器名;runner_db_user:作为这个MySQL用户连接数据库;runner_db_password:这个用户的MySQL口令;
//die命令会输出一个消息,并结束PHP脚本。
//mysql_select_db:告诉PHP要使用哪个数据库。
echo "Connected!";
?>
要从数据库读取数据,可以使用select语句,数据会返回到一个结果集中。结果集就是select查询中请求的所有数据的一个集合。使用select语句还可以连接多个表,这样就可以从多个表中获取数据放到同一个结果集中。
select column_name1,column_name2 from table_name order by column_name1 asc
select:关键字;
column_name1,column_name2:逗号分割的一个“列”列表,从这些列获取数据;
from:关键字,告诉语句请求的“列”列表结束,后面是一个数据表,将从这个表获取数据。
table_name:告诉语句要从哪个表获取数据;
order by:关键字,后面是一个或多个列名,按我们指定的顺序对返回的数据排序;
asc:关键字,告诉“order by”如何对结果排序(asc表示升序,desc表示降序);
JSON是javascript对象记法(JavaScript Object Notation的缩写,是一种轻量级数据交换格式。JSON格式对于人们来说更容易读写,对计算机则更容易解析和生成。正因如此,JSON非常适合建立数据结构和传输数据。JSON建立在JavaScript标准的一个子集基础上,它与语言无关,这说明JSON可以用于几乎任何编程语言。JSON传输数据比XML更高效,类似于关联数组,也基于名/值对。JSON中的值可以是字符串、数字、数组、对象、布尔值或null。
JSON比XML更小、更快、更易解析;JSON是纯文本,具有自我描述性,可通过JS进行解析;没有结束标签,独立于语言和平台。
$.getJSON(url_to_load,function(json){});
url_to_load:URL,希望从这加载数据;
function(json){}:运行这个回调函数;
json:返回的数据,放在一个名为json的对象中。
在对数据编码之前,数据必须在一个关联数组中。通过使用PHP函数array_push,将新元素增加到数组的末尾。
$my_array=array();
array_push($my_array,array('my_key'=>'my_val'));
调用array_push函数,$my_array:目标数组作为第一个参数传入;
array('my_key'=>'my_val'):增加到这个数组的键/值对;
PHP的json_encode函数可以将一个关联数组转换为JSON编码的值串。
echo json_encode(array_name);
<?php
htmlspecialchars($_POST["a"]);
empty($_POST["b"]);
preg_match(' ',$var);
?>
htmlspecialchars():采用对数据库安全的格式转换一些特殊的HTML实体;
empty():检查一个串是否为空;
preg_match():正则表达式匹配函数,使用正则表达式模式匹配可以指定很特定的条件,从而能控制输入数据的类型。
以上是关于jQuery 与 JSON的主要内容,如果未能解决你的问题,请参考以下文章
与 mmenu 冲突的 JQuery 手风琴菜单 - JQuery 1.4 与 1.7