请问为什么vbfunctionn后面那个括号里的result有个下划线?后台返回了json数据,但是前台

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
前后端设置json传递数据的时候为了规范key使用驼峰还是下划线?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
没有标准也没有规范。不过下划线用的比较多,题主也可以关注一下google/facebook/github...这些公司开放的 API 全部都是使用下划线分隔单词的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
关于这个问题,其实前端使用哪一种方式都是可以的,最重要的就是保持统一的命名风格。如果后端使用的是Java,后端标准的命名方式是驼峰法,但是就算前端传递以下划线方式命名的参数,后端无非就是需要添加类似于 @JsonProperty 之类的属性,对于后端处理会稍微麻烦一点。
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。45472 条评论分享收藏感谢收起赞同 242 条评论分享收藏感谢收起在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
前后端设置json传递数据的时候为了规范key使用驼峰还是下划线?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
目前没有严格约束,完全看个人,只要前后端保持一致就行。。。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
关于这个问题,其实前端使用哪一种方式都是可以的,最重要的就是保持统一的命名风格。如果后端使用的是Java,后端标准的命名方式是驼峰法,但是就算前端传递以下划线方式命名的参数,后端无非就是需要添加类似于 @JsonProperty 之类的属性,对于后端处理会稍微麻烦一点。
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。笔记小结(一)
我是上了项目才第一次触摸到json的 懵懵懂懂的做了下去 所以花了一点时间稍微写一下,加深理解
Json 有两种表示结构
: 对象和数组
{a:b,c:d,…..}
[{a:b,c:d,….},{e:f,…..}…..]
所以 前台 得自己建一个json
对象的例子:
数组的例子:
以上的两个例子都很简单,无非就是这两种建json的方法,还有的就是组合嵌套了
导入接口当初不了解json,导致想不出数组的方法,浪费了很多时间,这边记录一下
至于json的解析,hap框架已经封装好了,自动注入json的 key对应的java类的对象
Json字符串解惑
还有最重要的一点就是,为什么有的时候得传 json的字符串格式
我这里先举个例子:把上面的person
输出结果:
发现只是key加了双引号
再把上面的people
输出结果:
发现和上面的people还有很大的区别
如果前台传递多个类格式的Json数组,也就相当于上面的people,不将数组对象转换为Json字符串传递的话,会报错
还有穿第二个参数,第三个参数的问题,后续研究,stringify的差别更大,具体看:
至于倒过来转换:
JSON.parse(string)
字符串----àJson
jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json )(标准的字符)
ajax两个属性的解惑
contentType的作用:
需要通过JSON.stringify(param)把页面中获取的参数变成json字符串,,此时需要加上contentType: "application/json",
也就是使用使用contentType: “application/json”则data只能是json字符串
这不是request过去的类型,而是response回来的类型
dataType:预期服务器返回的数据类型
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
"text": 返回纯文本字符串
正则表达式
当初完全都没有正则表达式概念,遇到也也是通过上网查找解决,所以还是得学一学
(正则表达式自动匹配和生成代码)
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。
1 正则表达式 : cat
匹配:cat, catlog,
Cather.., zxxxcatxx
搜索对大小写不敏感
2 句点符号 t.n 匹配t开头,n结束的三个字符
3 方括号符号 在里面只能匹配单个字符 a[sjf]b,匹配asb ajb
4 或符号 匹配多个字符
a(oo|c)b 匹配aoob acb 注意这边是圆括号
[0-9]{3}\-[0-9]{2}
代表格式 999-99的数字串
[0-9]{3}\-?[0-9]{2}
代表连接符-可以不出现
正则表达式 \w \s \d \b
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或(汉字) 等价于 '[^A-Za-z0-9_]'。
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
8 字符簇 通常以[ ] 包起来 [0-9] 表示任何一位数字
[^0-9] 表示非 (放在方括号里)
简单例子:
^[a-zA-Z0-9_]+$
// 所有包含一个以上的字母、数字或下划线的字符串
^[1-9][0-9]*$
// 所有的正整数
^\-?[0-9]+$
// 所有的整数
^\-?[0-9]+\.?[0-9]*$ // 所有的浮点数
/Ch [1-5]/
Ch 2..Ch 5
注意 Ch和后面的空格是对于中括号里的字符是固定的
/\b([a-z]+) \1\b/gi
一个单词连续出现的位置
可匹配chapter,而不能匹配terminal。
匹配空行。
任意三个长度的字符串
/\d{2}-\d{5}/
验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。
我这里对/b 和 /B 不理解,多做一下解释
\b代表单词边界
单词边界就是单词和符号之间的边界
这里的单词可以是中文字符,英文字符,数字;符号可以是中文符号,英文符号,空格,制表符,换行
还有 空格并不是边界
这里举一个简单的例子(Java的正则)
代码正好与收款接口的soap报文转化为java对象的那几句代码一样,步骤是一样的
这边把第一次遇到正则 验证18位字符的拿出来 看看 发现好简单(js的正则)
看了网上好几个例子
发现 js有三种 验证的方法
这边给区分一下
test 返回 Boolean,查找对应的字符串中是否存在模式。(RegExp对象)
exec 查找并返回当前的匹配结果,并以数组的形式返回。没有发现匹配,则返回null
(RegExp对象)
match 是 String 对象的一个方法,和exec方法类似
dataType:预期服务器返回的数据类型
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
"text": 返回纯文本字符串
success方法
.success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
(1)由服务器返回,并根据dataType参数进行处理后的数据。
(2)描述状态的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
//调用本次ajax请求时传递的options参数
async: false 也就是这个属性
默认为true 也就是异步
我项目上遇到的问题
使用ajax加载数据返回页面并赋值,然后前端取出该值
这其中涉及到代码的顺序问题,有时后台还未返回数据,但已执行后面代码,
所以就会造成取不到值
这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。
而异步则这个AJAX代码运行中的时候其他代码一样可以运行。
但是同步太多,容易造成用户体验不佳
绝对定位和相对定位
Css3中 API对position属性的定义:
static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。
relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。
fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性定义。
什么是文档流?
将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流。
只有三种情况会使得元素脱离文档流,分别是:浮动、绝对定位和相对定位。
相对定位(relative) :
relative定位,又称为相对定位
我在这需要理解的就是相对定位
相对定位相对的是它原本在文档流中的位置而进行的偏移
也就是说它后面的元素是依据虚线位置( top / left / right / bottom 等属性生效之前)进行的定位
绝对定位(absoulte) :
absoulte定位,也称为绝对定位
使用absoult定位的元素脱离文档流后,就只能根据祖先类元素(父类以上)进行定位,而这个祖先类还必须是以postion非static方式定位的
举个例子,a元素使用absoulte定位,它会从父类开始找起,寻找以position非static方式定位的祖先类元素(注意,一定要是直系祖先才算哦~),直到&html&标签为止,这里还需要注意的是,relative和static方式在最外层时是以&body&标签为定位原点的,而absoulte方式在无父级是position非static定位时是以&html&作为原点定位。
我们如果使用absoulte或fixed定位的话,必须指定 left、right、 top、 bottom 属性中的至少一个,否则left/right/top/bottom属性会使用它们的默认值 auto ,这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递,简单讲就是都变成relative,会占用文档空间
如果top和bottom一同存在的话,那么只有top生效。
如果left和right一同存在的话,那么只有left生效。
参考文档:
了解一下http请求
HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:
建立TCP连接
Web浏览器向Web服务器发送请求命令
Web浏览器发送请求头信息
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
Web服务器应答
客户机向服务器发出请求后,服务器会客户机回送应答,
HTTP/1.1 200 OK
应答的第一部分是协议的版本号和应答状态码
Web服务器发送应答头信息
Web服务器向浏览器发送数据
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
Web服务器关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码
Connection:keep-alive
请求方法URI协议/版本
请求的第一行是“方法URL议/版本”:GET/sample.jsp HTTP/1.1
(2) 请求头(Request Header)
Accept: text/html,image/*
浏览器通过这个头,告诉服务器它所支持的数据类型Accept-Charset: 浏览器通过这个头,告诉服务器它采用的字符集Accept-Encoding:浏览器通过这个头,告诉服务器,它所支持的压缩格式Accept-Language:浏览器通过这个头,告诉服务器,它所采用的语言Host:浏览器通过这个头,告诉服务器,我想访问服务器哪台主机If-Modified-Since:浏览器通过这个头,告诉服务器,它缓存数据时间是多少。Referer:浏览器通过这个头,告诉服务器,我是从哪个网页点过来的(防盗链)User-Agent: 浏览器通过这个头,告诉服务器,当前浏览器操作系统的信息,以及浏览器的版本号Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间
(3)http响应头:Location:这个头通常配合302状态码使用,它用于告诉浏览器你去找谁。Server:告诉浏览器,服务器的类型Content-Encoding: 服务器通过这个头,告诉浏览器,回送的数据采用的压缩格式。Content-Length: 80 Content-Language: zh-cn Content-Type:这个头用于告诉浏览器,回送数据的类型Last-Modified:这个头用于告诉浏览器,数据的最后修改时间Refresh: :这个头用于控制浏览器定时刷新Content-Disposition: 用于通知浏览器,以下载方式打开回送的数据Transfer-Encoding: 用于通知浏览器,数据是以分块形式回送的ETag: 缓存相头的头Expires: 用于说明网页的失效时间,如果该值为一个&0的值,则服务器是通知浏览器不要缓存Cache-Control: no-cache
通知浏览器不要缓存
没有更多推荐了,26030 条评论分享收藏感谢收起}

我要回帖

更多关于 vb中function什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信