源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 346|回复: 24

[AJAX相关] 通过构造AJAX参数实现表单元素JSON相互转换

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2016-5-4 10:11:53 | 显示全部楼层 |阅读模式
这篇文章主要介绍了通过构造AJAX参数实现表单元素JSON相互转换 的相关介绍,需要的朋友可以参考下

ajax提交服务器数据, 整理一下转换方法。

HTML:

<form id="fm" name="fm" action="">
<input name="UserName" type="text" value="UserName1"/>
</form>
<input name="UserId" id="UserId" type="text" value="UserId1"/> 

1.表单元素转QueryString

var q = $('#fm,#UserId').serialize(); //q = UserName=UserName1&UserId=UserId1 

2.字符串, JSON 互相转换

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" ); 

可以利用jquery-json插件实现转换,直接引用示例

var thing = {plugin: 'jquery-json', version: 2.3};
var encoded = $.toJSON( thing );
// '{"plugin":"jquery-json","version":2.3}'
var name = $.evalJSON( encoded ).plugin;
// "jquery-json"
var version = $.evalJSON(encoded).version;
// 2.3 

3.表单,元素转Name,Value数组

var arr = $("#fm,#UserId").serializeArray();
/*[ 
{name: 'UserName', value: '"UserName"1'}, 
{name: 'UserId', value: 'UserId'}
] */ 

4. 表单元素转JSON

$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
var obj = $('form').serializeObject();
/*obj: Object
UserId: "UserId1"
UserName: "UserName1"
__proto__: Object*/ 

5. JSON2FORM

$.getJSON('url_to_file', function(data) {
for (var i in data) {
$('input[name="'+i+'"]').val(data[i]);
}
}

Google过程中发现一个更强大的插件 http://code.google.com/p/jquery-load-json/

data = {
"Name":"Emkay Entertainments",
"Address":"Nobel House, Regent Centre",
"Contact":"Phone"
} 
$('div#data').loadJSON(data);
<div id="data">
<h1 id="Name">Emkay Entertainments</h1>
<label for="Address">Address:</label>
<span id="Address">Nobel House, Regent Centre</span> 
<label for="Contact">Contact by:</label>
<span id="Contact">Phone</span>
</div> 

回复

使用道具 举报

4

主题

2万

回帖

107

积分

注册会员

Rank: 2

积分
107
发表于 2022-8-27 03:12:04 | 显示全部楼层
很不错的源码论坛
回复 支持 反对

使用道具 举报

匿名  发表于 2022-8-27 04:31:16

how to write argumentative essay g94bdv


Incredible a good deal of superb info! navarro pharmacy most reliable canadian pharmacies pharmacy https://canadianpharmacies-24h.com/
回复 支持 反对

使用道具

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-11 22:28:38 | 显示全部楼层
老衲笑纳了
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

66

积分

注册会员

Rank: 2

积分
66
发表于 2023-7-21 18:20:14 | 显示全部楼层
很不错的玩意
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

381

积分

中级会员

Rank: 3Rank: 3

积分
381
发表于 2023-8-10 09:21:59 | 显示全部楼层
抽根烟,下来看看再说
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2023-8-13 04:05:47 | 显示全部楼层
呵呵呵呵呵呵呵a
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

85

积分

注册会员

Rank: 2

积分
85
发表于 2024-3-26 13:23:04 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-4-7 20:24:39 | 显示全部楼层
很不错的玩意
回复 支持 反对

使用道具 举报

29

主题

2万

回帖

194

积分

注册会员

Rank: 2

积分
194
发表于 2024-5-2 05:01:26 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-1-21 18:42 , Processed in 0.132119 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表