java开发中的那些事(6)------一次ajax调用中的问题

这个周末就要到这次开发任务的结尾了,不过也到这时候了,才发现用起来比较顺手了,前几次项目中也有过啊,说起来实实在在用过的才3个项目,就分别用了不同的,着实有些痛苦啊,初学阶段的jsp+servlet还算是初学,可这后面的loushang和ssh2是让我欢喜让我忧啊,高兴的是框架的魅力让我情不自禁,可这样的框架我啥时候才能自己组的那么完善,甚至现在用起来还磕磕绊绊的。总结下这次的大收获的话,一方面是这个框架,另一方面的话就是ajax和json了,这个在我来说是比较陌生的地方,虽然现在我可以用,但原理上还是有些迷糊,是那种有些明白,但不贯通的感觉,还是好好努力吧,加油。

这篇记录是在家里写的,在公司里编写的代码已经记不清全部了,写一下部分代码吧:

$.ajax({
url:"getDataBtf.action",
data:"id="+$("#btfId").val()+"&&location="$("#btfLocate").text(),
success:function(){

}
})

大致能想起来的就这些了,这个下午在这个地方磕了好几次,这样来罗列下绊脚的地方

1、这个地方的“,”是逼疯人的节奏啊,喜欢复制过来再修改的毛病总会多出那么一个“,”:杯具啊;

2、$("#btfId")这个地方的意义就是document.getElementById("btfId")嘛,获取dom对象,我一直都这么记,可还是经常忘记“#”,有点悲催;

3、这个地方的location是中文的,在后台开始的时候总是获取不到,让我是苦不堪言啊;

4、val()和text(),在text和select中可以用val(),这应该属于jquery的范畴了

解决办法:

1+2:这两个还真就没办法,细心+小心,不行就重来,反正错了的话结果就那么明显;

3:当时我用encodeURI()来解决的,今天回来搜下后发现escape()和encodeURIComponent()

大致原理的话:

encodeURI()函数默认采用的UTF-8编码,然后在jsp中再经过页面本身的编码后传递给服务器,传递给后台,而后台在调用getParamter()方法时,服务器会对相应的数据先解码urlDecode一次后,然后再根据服务器端相应的url转码方法进行一次转码,所以说这个地方是需要两次转码的

至于其他两个,还没有用过,不敢妄下定论啊

4、这个是在进行赋值的时候发现的,结果在传递的时候又出现了

("#btfLocate").text(data[1]);
("btfId").val(data[0]);

val()貌似只有对text和select中有用,就像document.getElementById("一个text").value;而document.getElementById("一个div")的innerHTML这个不同是一样一样滴啊

我始终相信时间的苦难是定数的,你开始痛苦了,后面总会顺风顺水,我还是菜鸟,我还在飞..

java开发中的那些事(6)------一次ajax调用中的问题,布布扣,bubuko.com

时间: 2024-10-24 15:35:03

java开发中的那些事(6)------一次ajax调用中的问题的相关文章

RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的区别?

笔者在用调用Google Calendar和Google Tasks的RESTFul API的时候,遇到了一个特殊的操作,PATCH.那么PATCH操作和PUT操作的区别是什么呢? 根据PATCH for HTTP Method 一文中的描述(http://tools.ietf.org/html/rfc5789)我们知道,PATCH 操作主要用来更新部分资源,而且其不是幂等(所谓的幂等就是每次更新后,结果不变)的.Put操作主要用来更新全部的资源,而且其实幂等的. 那么PATCH操作的优势是什么

java 学习中遇到的问题(一)方法调用中的值传递和引用传递

值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值.引用传递:也称为传地址.方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值. java的方法中,若参数是一般的数值型,例如int,float(包括Integer,Double这些自动装箱的基本类)等,这属于值传递,形参的变化不会影响实参: 若参数是一个对象,

jquery 中多个存在依赖关系的ajax调用解决办法

在使用ajax异步调用的时候,可能碰到同时调用多个ajax这种情况.而且多个ajax之间还存在依赖关系.这种情况怎么处理呢?   有两种办法: 一种是多个ajax嵌套调用,这时需要设置async为false,也就是便成同步的了,但是这种方法存在一个弊端,如果后台出现问题,一直忙,不能返回数据,浏览器将出现卡死的情况.   第二种方法是使用队列的方法.将ajax加入到队列中,然后依次调用即可. 这里举个例子. index.html<!DOCTYPE html> <html> <

想做大牛,Java开发的必备技术点你了解了吗?

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群.1.Java的运行(基础必备)这条可能出看很简单,java程序的运行谁不会呢?不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解.这 个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如

spark JAVA 开发环境搭建及远程调试

spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息.以前折腾过Hadoop,于是看了下Spark官网的文档以及 github 上 官方提供的examples,看完了之后决定动手跑一个文本聚类的demo,于是有了下文. 1. 环境介绍 本地开发环境是:IDEA2018.JDK8.windows 10.远程服务器 Ubuntu 16.04.3 LTS上安装了spark-2.3.1-bin-hadoop2.7 看spark官网

这20个核心技术,作为Java开发程序员,你一定要掌握

1. JVM相关(重点) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可. 不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的. JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透. 我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了. 当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低. 在JVM这个大类中,我认为

阿里巴巴 Java 开发手册 1.4.0

一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ / name__2. [强制]代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式.说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式也要避免采用.正例: alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同

Java开发就业前景及发展空间如何?

java开发就业前景及发展空间如何?Java语言有广泛的行业发展前景,Java技术无处不在,无论手机软件.Java游戏开发.电脑软件等,只要使用到电子产品都有Java相关的东西,大部分企业采用Java语言开发网站. 在程序员中Java开发工程师就占据20%的比例,在行业中的影响力.Java开发语言全球流行的开发语言,无论是程序界还是整个互联网行业有很大的影响.人才需求和薪资水平Java的发展前景很乐观,用心努力的学好这门技术,对于0基础转行学习Java技术也是一个好的发展方向. Java开发就业

java开发中的那些事(5)--------一点经历,败给2分钟的2个小时

特意记下这个经历,这个让我感慨万千又斗志昂扬的一次经历,这是经验,也是生活. 故事的始末是这样的,先给大家上几句代码,现在身在家中,只能凭记忆敲打几行,大致意思倒不会错: {field:'code',align:'center'} {field:'btfid',align:'center',hidden:'true', formatter:function(value,row,rowIndex){ return "<a href="javascript:void(0)"