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

 更新时间:2016年05月04日 10:11:53   作者:jerrylsxu  
这篇文章主要介绍了通过构造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> 

相关文章

  • ajax poller

    ajax poller

    ajax poller 实现代码。
    2009-07-07
  • Ajax原理与应用案例快速入门教程

    Ajax原理与应用案例快速入门教程

    这篇文章主要介绍了Ajax原理与应用案例,结合实例形式分析了ajax原理、功能、创建及使用方法,需要的朋友可以参考下
    2019-07-07
  • ajax实现异步文件或图片上传功能

    ajax实现异步文件或图片上传功能

    这篇文章主要为大家详细介绍了ajax实现异步文件(图片)上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Ajax 说的比较清楚的一篇文章

    Ajax 说的比较清楚的一篇文章

    ajax一般做两个if判断,判断readyState是否等于4,即响应完毕,status是否等于200.,即一切正常
    2013-07-07
  • Ajax 核心框架函数及例子

    Ajax 核心框架函数及例子

    最近学习js,肯定会学到ajax中的东西,所以,看到比较好的ajax函数,免不得要贴出来,供大家参考。这个函数摘录自john resig的书中。
    2009-09-09
  • AJAX显示加载中并弹出图层遮挡页面的实现示例

    AJAX显示加载中并弹出图层遮挡页面的实现示例

    大家都知道AJAX的请求是异步的,这种异步的机制给我们带来了体验上的优化,但是同时我要求我们有更完善的思维去处理一个业务。当用户请求后长时间没有回应是一种非常不好的用户体验,所以我们可以在请求后利用AJAX显示加载中并弹出图层遮挡页面,下面来看看实现方法。
    2016-12-12
  • ajax结合豆瓣搜索结果进行分页完整代码

    ajax结合豆瓣搜索结果进行分页完整代码

    这篇文章主要为大家详细介绍了ajax结合豆瓣搜索结果进行分页完整代码,具有一定的参考价值,感兴趣的朋友可以参考一下
    2016-10-10
  • ajax交互Struts2的action(客户端/服务器端)

    ajax交互Struts2的action(客户端/服务器端)

    本文为大家探讨下ajax交互Struts2的action并有客户端及服务器端代码,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • Fly拦截全局Ajax请求的方法

    Fly拦截全局Ajax请求的方法

    这篇文章主要介绍了Fly拦截全局Ajax请求的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 通过history解决ajax不支持前进/后退/刷新的问题

    通过history解决ajax不支持前进/后退/刷新的问题

    下面小编就为大家带来一篇通过history解决ajax不支持前进/后退/刷新的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论