首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

javascript:巧用eval函数组装表单输入项为json对象

在ajax方式做web开发时,经常会遇到会保存前,收集表单输入项,组成json对象,然后把对象直接post到服务端的场景 常规做法是在js里写类似如下的代码: var myObj = {}; myObj.x...//然后ajax post或get提交 表单元素不多的时候,这样还好,但是如果一个表单有好几十项甚至更多输入项的时候,写这种代码就太费劲了。...}; } eval('A.b.c = 1'); alert(A.b.c);  这样,我们就动态创建了一个复合对象A,明白其中原理后,可以对表单做些改进: 运单号:<input type="text...\n结算方式:" + AwbModel.SettlementMode + "\n不该有的属性:" + AwbModel.NotMe);  这样,只要form元素的name属性正确设置...,需要收集表单对象时,调用一下setFormModel函数,就能快速得到一个json对象(当然这只是示例,仅处理了一级属性的情况,如果有多级属性,大家自己去扩展吧,无非就是字符串上做些文章)

1.5K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    解决json.Unmarshal无法清空对象字段值

    问题背景 使用 golang 的 json.Unmarshal,将字符串反序列化到对象结构时,若字段原先有值,而被反序列化字符串不包含该字段值,则无法清空对象字段值。...举个例子: func TestUnmarshal(t *testing.T) { stu := &Student{Age: 11} err := json.Unmarshal([]byte(`...业务代码自动同步远程配置中心下发的配置变更,将变更的字符串信息 Unmarshal 到目标对象上。当删除配置时,若直接 Unmarshal 到原对象,则无法清空删除配置的字段值。...// 根据jsonRaw更新target对象,无论target是否有值,一律清空 func FullUpdate(jsonRaw string, target interface{}) error {...() // 反序列化到新对象上 err := json.Unmarshal([]byte(jsonRaw), newTarget) if err !

    2.2K40

    ArcMap将栅格0值设置为NoData值的方法

    本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。   ...在处理栅格图像时,有时会发现如下图所示的情况——我们对某一个区域的栅格数据进行分类着色后,其周边区域(即下图中浅蓝色的区域)原本应该不被着色;但由于这一区域的像元数值不是NoData值,而是0值,导致其也被着色...因此,我们需要将这一栅格图像中的0值设置为NoData值。这一操作可以通过ArcMap软件的栅格计算器来实现,但其操作方法相对复杂一些;本文介绍一种更为简便的方法,具体如下所示。   ...首先就是下图中上方的红色方框,选择我们需要设置的栅格文件即可。...如果我们是需要对其他指定的数值设置,就在这里填写这一指定的数值即可。   设置完毕后,可以在栅格图层的属性中看到“NoData Value”一项已经是0值了。

    56610

    为什么禁止把函数参数默认值设置为可变对象?

    有时候我们在编写函数时,会需要给一些参数设置默认值,这个时候我们需要牢记一点:禁止使用可变对象作为参数默认值。...非常明显地提示列表[]是一个危险的默认值,这究竟是为什么呢? 为什么可变对象作为函数默认值很危险?...所以说,使用可变对象作为默认值会导致得到超出我们预期的结果,这可能会导致出现一些无法定位的bug。 那么,我们应该怎么做? 我们应该怎么做?...既然我们不能使用可变对象作为参数默认值,那么使用不可变对象作为参数默认值就好了,然后再在代码中对默认值的数据类型进行修改。...print(f('3', ['1', '2'])) # 期望 -> ['1', '2', '3'] # 实际输出 ['1'] ['2'] ['3'] ['1', '2', '3'] 可以看到,把参数默认值设置为不可变对象的写法就完全符合我们的预期了

    1.3K30

    以读取博客园随笔备份为例 将xml 序列化成json,再序列化成对象

    我们要读取上述xml,主要是获得channel节点下的所有内容,在平时的工作过程中,觉得json数据要比xml更加容易操作些,于是想,能不能将其转换成json格式,进一步转换成对象。...下一步的工作则是将 rss节点下的内容,转换为json。   ...此时由xml到json的转换就完成了,下一步,则是如何将json转换成对象。...通过查看上述json的结构,将每个节点看作一个对象,很容易定义出数据结构,具体如下:        public class Channel { public string...,针对此情况,不想更多的去改变代码,在item仅有一个的时候,手动添加一个空节点,此时对应的json为: "item": [ { "title": "测试", "link

    93510

    前端架构师之01_JavaScript_Ajax

    属性名 说明 responseText 将响应信息作为字符串返回 responseXML 将响应信息格式化为XML Document对象并返回(只读) responseXML属性在请求失败或相应内容无法解析时的值为...需要注意的是,服务器在返回XML时应设置响应头Content-Type的值为text/xml或application/xml,否则会解析失败。 Ajax如何处理服务器返回的信息。...与XML对比:使用JSON对象访问属性的方式获取数据更加方便,在JavaScript中可以轻松地在JSON字符串与对象之间转换。 JSON格式的数据交互实现。...// 将JSON字符串转换为对象 console.log(obj); /* console.log(typeof xhr.responseText);...目标服务器通过该响应头可以指定允许来自特定URL的跨域请求,其值可以设置为任意URL或特定URL等。

    4510

    Web基础知识

    属性名 说明 responseText 将响应信息作为字符串返回 responseXML 将响应信息格式化为XML Document对象并返回(只读) responseXML属性在请求失败或相应内容无法解析时的值为...需要注意的是,服务器在返回XML时应设置响应头Content-Type的值为text/xml或application/xml,否则会解析失败。 Ajax如何处理服务器返回的信息。...与XML对比:使用JSON对象访问属性的方式获取数据更加方便,在JavaScript中可以轻松地在JSON字符串与对象之间转换。 JSON格式的数据交互实现。...// 将JSON字符串转换为对象 console.log(obj); /* console.log(typeof xhr.responseText);...目标服务器通过该响应头可以指定允许来自特定URL的跨域请求,其值可以设置为任意URL或特定URL等。

    13010

    【原生Ajax】全面了解xhr的概念与使用。

    JSON     什么是JSON 概念:JSON的英文全称是JavaScript Object Notation,即 JavaScript对象表示法。...数组结构:数组结构在JSON中表示为[]括起来的内容,数据结构为[‘java’,‘javascript’,30,true],数组中数据的类型可以是数字,字符串,布尔值,null,数组,对象6种类型。    ...6.不能使用undefined或函数作为JSON的值 JSON的作用:在计算机与网络之间存储和传输数据。 JSON的本质:用字符串来表示JavaScript对象数据或数组数据。    ...xhr levle2的新特性 可以设置http请求的时限。 可以使用formdata对象管理表单数据 可以上传文件 可以获得数据传输的进度信息。     设置http请求时限。...如果网速很慢,用户可能要等很久,新版本的xhr对象,增加了timeout属性,可以设置http请求的时限: xhr.timeout = 3000 上面的语句,将最长等待时间设为3000毫秒,过了这个时限

    2.5K20

    什么是jQuery?

    这里写图片描述 JQuery对象与JavaScript对象是可以互相转化的,一般地,由于Jquery用起来更加方便,我们都是将JavaScript对象转化成Jquery对象 Jquery转成JavaScript...(9)表单对象属性选择器 匹配表单属性具体的值 通过这九种的选择器,我们基本可以能获取HTML中任何位置的标签。...标签内容和属性 val():获取value属性的值 val(""):设置value属性值为""空串,相当于清空 text():获取HTML或XML标签之间的值 text(""):设置HTML或XML标签之间的值为...最后一个是对表单的数据进行封装,将表单的数据封装成JSON格式 `load()` 首先,我们来使用一下load()这个方法吧。在文档中对它的解释是这样子的。 ?...于是乎,Jquery也提供了serialize()这么一个方法,给我们自动把表单中的数据封装成JSON格式的数据 使用之前要注意的是: 为每个jQuery对象设置一个name属性,因为name属性会被认为请求参数名

    3K70

    前端JQuery标准教案

    讲解JQuery对象和JavaScript对象的区别,一定要讲明白JQuery就是JavaScript的数组包装,讲解两者的转换方法 数组下标[index]和get(index)方法。...; 2、先讲解JSON数据结构,讲解获得JSON对象data的属性可以通过:data.属性名的方式,也可以通过数组类型的方式:data[属性值]; 3、展示示例将JSON数据加入到Form表单对应的元素中...; 4、讲解怎么获得form表单中所有有name属性的元素,继而讲解怎么把这些名称放入到数组中; 5、将form表单中name属性的值和JSON数据中属性名称相同的元素的value设置成对应的JSON中的值...第三阶段:以JSON方式获取form表单中的数据 案例二:将form表单中的数据转化成JSON对象 var data=new Object();//创建JS对象 $("#"+formId...;i++){ if(positions[i]==col){//如果数据列的位置和当前列标相同 obj[names[i]]=(this).text();//将数据对象的相应属性设置成 break; } }

    6210

    web前端之锋利的jQuery八:jQuery插件的使用(表单验证、表单提交)

    欢迎下次再来”的提示 核心方法 ajaxForm()和ajaxSubmit() 通过核心方法ajaxForm(),能很容易地将表单升级为Ajax提交方式 $("#myForm").ajaxForm(function...首先定义一个对象options,然后在对象里设置参数 var options={ target="#output1"//把服务器返回的内容放入id为output1的元素中 ,beforeSubmit...”等数据类型 ,clearForm:true//成功提交后,清除所有表单元素的值 ,resetForm:true//成功提交后,重置所有表单元素的值 ,timeout:3000/...(2)当dataType属性被设置为xml时,回调函数的第一个参数是XMLHttpRequest对象的responseXML属性。...json时,回调函数的第一个参数是从服务器返回的json数据对象 $("#myForm").ajaxForm({ dataType:'json'; success:processJson

    6.6K50
    领券