JS jquery ajax

Posted 阿善9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS jquery ajax相关的知识,希望对你有一定的参考价值。

4.form中的input可以设置为readonlydisable,请问2者有什么区别?

readonly不可编辑,但可以选择和复制;值可以传递到后台

disabled不能编辑,不能复制,不能选择;值不可以传递到后台

5.js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么?

alert
confirm
prompt

2、列举Javajavascript之间的区别?

Java是一门十分完整、成熟的编程语言。相比之下,JavaScript是一个可以被引入html页面的编程语言。这两种语言并不完全相互依赖,而是针对不同的意图而设计的。 Java是一种面向对象编程(OOPS)或结构化编程语言,类似的如C ++C,而JavaScript是客户端脚本语言,它被称为非结构化编程。

1 你在公司是怎么用jquery的?

答:在项目中是怎么用的是看看你有没有项目经验(根据自己的实际情况来回答你用过的选择器啊,复选框啊,表单啊,ajax啊,事件等

配置Jquery环境 下载jquery类库 jsp页面引用jquery类库即可

<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"/>

接下来通过在<script> $(function(){ }); </script>

 

 

前端:

获取元素

1.通过id获取元素   $("#id")

2.通过class获取元素

$(".classname")

3.通过name获取元素 <intput name="abc">

$("input[name=‘abc‘]")

修改元素

1.修改属性的方法

$("#id").attr()   .prop("src","url")

2.修改样式的方法

$("#id").css({"dispay":"none"});

3.添加一个class

$("#id").addClass("classname");

4.去除一个class

$("#id").removeClass("abc abcd");

5.是否包含某个class

$("#id").hasClass();

添加修改元素

1.向元素后增加一些html文本

append

    ajax

$.post("url",{},function(data){},"json")

$.get

$.ajax

循环

$(".class").each(function(){

 

$(this).css("display","none");//获取当前对象

jquery对象转换层js原生对象

$(this)[0].value

});

var inputobj = document.getElementById("input");

$(inputobj)

 

java

实现线程有那些方法  threed,runabbler,

给线程传参有那些方法

web的访问原理

Struts2springmvc的区别

springmvc都使用到那些注解

mybatis ${}#{}的区别

 

sql

说出增删改的语法

 

1.用一条SQL 语句 查询平均分大于80 分的学生姓名

name   kecheng   score

张三    语文       81

张三    数学       75

李四    语文       66

李四    数学       90

王五    语文       81

王五    数学       100

王五    英语       90

select name from 表明 group by name having avg(score) > 80

 

2.你为什么要使用jquery?

答:因为jQuery是轻量级的框架,大小不到30kb,它有强大的选择器,出色的DOM操作的封装,有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠),完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。出色的浏览器的兼容性。 而且支持链式操作,隐式迭代。行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富。

 

4  你使用jquery遇到过哪些问题,你是怎么解决的?

答:这个答案是开发的,看你是否有相关的项目经验。

例前台拿不到值,JSON 可是出现的错误(多了一个空格等)这编译是不会报错的 jquery库与其他库冲突:

1>如果其他库在jquery库之前导入的话

1.我们可以通过jquery.noconflict()将变量的$的控制权过度给其他库

2.自定义快捷键,用一个变量接住jquery.noconflict()

3.通过函数传参

2>如果jquery库在其他库之前导入就直接使用jquery

今天在处理一个数据问题时,发现jQuery.ajax()方法返回的值一直有问题,清除缓存后数据无误,多次测试后发现返回的值都是之前的值,并且一直未执行url(后台为JAVA,设置断点一直未进入)。在网上查找下,发现是未设置type的原因。 如果没设置jQuery.ajaxtype="Post",那么ajax就会默认type="Get",这就会导致之前数据被缓存起来。加上type="Post",问题解决! 

5  你知道jquery中的选择器吗,请讲一下有哪些选择器?

 jQuery中的选择器大致分为:基本选择器,层次选择器,过滤选择器,表单选择器

6  jquery中的选择器 和 css中的选择器有区别吗?

答:jQuery选择器支持CSS里的选择器,jQuery选择器可用来添加样式和添加相应的行为CSS 中的选择器是只能添加相应的样式

7  你觉得jquery中的选择器有什么优势?

答:简单的写法  $(‘ID‘) 来代替 document.getElementById()函数

支持CSS1 CSS3 选择器完善的处理机制(就算写错了id也不会报错)

8  你在使用选择器的时候有有没有什么觉得要注意的地方?

: 1 选择器中含有".","#","[" 等特殊字符的时候需要进行转译

       2 属性选择器的引号问题

       3 选择器中含有空格的注意事项

1. jQuery 库中的 $() 是什么?(答案如下)

  $() 函数是 jQuery() 函数的别称,乍一看这很怪异,还使 jQuery 代码晦涩难懂。一旦你适应了,你会爱上它的简洁。$() 函数用于将任何对象包裹成 jQuery 对象,接着你就被允许调用定义在 jQuery 对象上的多个不同方法。你甚至可以将一个选择器字符串传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。这个问题我已经见过好几次被提及,尽管它非常基础,它经常被用来区分一个开发人员是否了解 jQuery

5.  $(document).ready() 是个什么函数?为什么要用它?(answer)

  这个问题很重要,并且常常被问到。 ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。需要进一步了解的用户可以点击 answer链接查看详细讨论。

  6. JavaScript window.onload 事件和 jQuery ready 函数有何不同?(答案

  这个问答是紧接着上一个的。JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。

  另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。

  7. 如何找到所有 HTML select 标签的选中项?(答案如下)

  这是面试里比较棘手的 jQuery 问题之一。这是个基础的问题,但是别期望每个 jQuery 初学者都知道它。你能用下面的 jQuery 选择器获取所有具备 multiple=true <select > 标签的选中项:

1

$(‘[name=NameOfSelectedTag] :selected‘)

  这段代码结合使用了属性选择器和 :selected 选择器,结果只返回被选中的选项。你可按需修改它,比如用 id 属性而不是 name 属性来获取 <select> 标签。

  8. jQuery 里的 each() 是什么函数?你是如何使用它的?(答案如下)

  each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在 alert 框中用 each() 方法来一个个打印它们,代码如下:

1

2

3

$(‘[name=NameOfSelectedTag] :selected‘).each(function(selected) {

    alert($(selected).text());

});

  其中 text() 方法返回选项的文本。

  9. 你是如何将一个 HTML 元素添加到 DOM 树中的?(答案如下)

  你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。

 11. $(this) 和 this 关键字在 jQuery 中有何不同?(答案如下)

  这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)

  12. 你如何使用jQuery来提取一个HTML 标记的属性 例如. 链接的href? (答案)

  attr() 方法被用来提取任意一个HTML元素的一个属性的值. 你首先需要利用jQuery选择及选取到所有的链接或者一个特定的链接,然后你可以应用attr()方法来获得他们的href属性的值。下面的代码会找到页面中所有的链接并返回href值:

1

2

3

$(‘a‘).each(function(){

   alert($(this).attr(‘href‘));

});

  13. 你如何使用jQuery设置一个属性值? (答案)

  前面这个问题之后额外的一个后续问题是,attr()方法和jQuery中的其它方法一样,能力不止一样. 如果你在调用attr()的同时带上一个值 例如. attr(name, value), 这里name是属性的名称,value是属性的新值。

为什么使用bootstrap

如果能指出浏览器支持情况、移动优先、响应式布局、简单易写、统一编码风格的话,那基本算过了。

一、使用情况:AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下使用。AJAX的核心:向服务器发送多个请求而无需用户等待来至服务器的响应。

二、AJAX的优势

    1.异步加载数据,无需切换页面,不需要刷新

    2.更佳的用户体验:局部刷新、及时验证、操作步骤简化等

    3.节省流量

    4.JS控制数据的加载,更加灵活多用

最根本的作用就是在不刷新整个页面的情况下,动态刷新一部分页面内容。这样使得用户交互更良好。比如说,点击一个按钮,就展开一个列表,其他页面内容不变。这就是ajax可以做到的功能之一。

1.表单提交
2.级联相关的
3.用户名存在

 

2、为什么要用ajax:
Ajax应用程序的优势在于:
1. 通过异步模式,提升了用户体验
2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
2、AJAX最大的特点是什么。
Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

7.AjaxJavaScript的区别。

3、javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript。
Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。
在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。
Ajax应用中信息是如何在浏览器和服务器之间传递的
      通过XML数据或者字符串

 

Json在项目中的应用

1.json在前端中的应用:

aajax+json使用场景:

ajax处理登录验证信息  解析json格式的String类型对象和ajax获得服务端的响应数据的方式request.responseText

评论处理,用ajax将表单的数据提交给服务端,客户端解析从服务端传过来的json格式的List类型的数据:

ajax来获取服务器端的数据,如果从服务器传到前端的数据都是JSON的字符串形式,在前端要读取数据,需要先将字符串转化成json格式的对象。

js中的eval()函数就是将json格式的字符串转化为json格式的对象。

 

刚开始学习的时候首先学的是原生的ajax,还没有学习jqueryjquery中的ajax更方便),在项目中就用上面的原生的ajax来和服务器进行交互。当前端需要像后台异步请求大量的数据时,必须要有一个方法让我们可以将这些数据方便的从后台传到前端,比如后台要传给前端的数据是一个数组类型的,后台通过相应的方法将这个数组类型的数据转化成json格式的字符串,然后再传给前端,前端为了将从后台获取到的json格式的字符串的内容一个个显示在对应的位置,就需要先将该json格式的字符串转化成json对象(eval函数,实际项目中应该避免使用eval),然后才能一个个的将数据读取出来(第二张图中遍历获取到的后台数据)。

 

刚开始如果对json不熟悉,可能会遇到不知道如何读取从后台传到前端的json格式的字符串的情况。这个时候就要搞清楚json的概念。(要在实际中应用json,要掌握json格式数据的写法以及如何读取json格式的数据)。

 

.JSON数据与EasyUI datagrid的绑定 

        

在考评系统中,需要对音频图片文件进行管理,第一点要做的就是在前台显示所有的文件列表,已对其进行查询和删除操作。

       通过AJAX,我已经获取到了所有文件的JSON串,如下图所示: 

     

 在上面也提到过,JS操作的是JSON对象,所以原本以为只需要将其转换为JSON对象即可。但实际上,并没有成功地绑定到datagrid上。

        后来在网上查到资料,才发现EasyUI datagrid与JSON数据的绑定其实是有固定的参数的,正确格式应该是{"total":total,"rows":jsondata}. 

        这样与EasyUI datagrid数据绑定问题就解决了。部分代码如下: 

        前台HTML: 

 

 

SON: JavaScript Object Notation(JavaScript 对象表示法)。JSON 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言 *
  • JSON 具有自我描述性,更易理解

 
















以上是关于JS jquery ajax的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中的ajaxjquery中ajax全局事件load实现页面无刷新局部加载ajax跨域请求jsonp利用formData对象向服务端异步发送二进制数据

ajax的两种实现

使用ajax jquery上传图片

jQuery 颜色框的问题

选择 $.ajax Jquery 的父级?

使用ajax jquery的laravel消息闪烁