在这篇文章中,我们将为您详细介绍JavaCharAt的内容,并且讨论关于和deleteCharAt的相关问题。此外,我们还会涉及一些关于$.ajax()和$.get()和$.load()之间的区别、A
在这篇文章中,我们将为您详细介绍Java CharAt的内容,并且讨论关于和deleteCharAt的相关问题。此外,我们还会涉及一些关于$ .ajax()和$ .get()和$ .load()之间的区别、Ajax的4个经典的请求get(),post(),getJseon()和ajax()、AngularJS中$ broadcast(),$ emit()和$ on()的用法、Arrays.asList()vs Collections.singletonList()的知识,以帮助您更全面地了解这个主题。
本文目录一览:- Java CharAt()和deleteCharAt()性能(java中的charat)
- $ .ajax()和$ .get()和$ .load()之间的区别
- Ajax的4个经典的请求get(),post(),getJseon()和ajax()
- AngularJS中$ broadcast(),$ emit()和$ on()的用法
- Arrays.asList()vs Collections.singletonList()
Java CharAt()和deleteCharAt()性能(java中的charat)
我一直想知道java中String / StringBuilder / StringBuffer的charAt函数的实现是什么?还有StringBuffer
/ StringBuilder中的deleteCharAt()呢?
答案1
小编典典对于String
,StringBuffer
和StringBuilder
,charAt()
是恒定时间的运算。
对于StringBuffer
和StringBuilder
,deleteCharAt()
是线性时间运算。
StringBuffer
并StringBuilder
具有非常相似的性能特征。主要区别在于前者是synchronized
(因此是线程安全的)而后者则不是。
$ .ajax()和$ .get()和$ .load()之间的区别
$.ajax()
和$.get()
和有$.load()
什么区别?
在哪个条件下使用哪个更好?
Ajax的4个经典的请求get(),post(),getJseon()和ajax()
1.jQuery.get(url, [data],[callback],[type])
概述
通过远程 HTTP GET 请求载入信息。
这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
参数
urlString
待载入页面的URL地址
data (可选)Map
待发送 Key/value 参数。
callback (可选)Function
载入成功时回调函数。
type (可选)String
返回内容格式,xml,html,script,json,text,_default。
示例
描述:
请求 test.PHP 网页,忽略返回值。
jQuery 代码:
$.get("test.PHP");
描述:
请求 test.PHP 网页,传送2个参数,忽略返回值。
jQuery 代码:
$.get("test.PHP",{ name: "John",time: "2pm" } );
描述:
显示 test.PHP 返回值(HTML 或 XML,取决于返回值)。
jQuery 代码:
$.get("test.PHP",function(data){ alert("Data Loaded: " + data); });
描述:
显示 test.cgi 返回值(HTML 或 XML,取决于返回值),添加一组请求参数。
jQuery 代码:
$.get("test.cgi",time: "2pm" },function(data){ alert("Data Loaded: " + data); });
jQuery.post(url,[data],[type])
概述
通过远程 HTTP POST 请求载入信息。
这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
参数
2.<div id="images"></div>$.getJSON("http://api.flickr.com/services/Feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",function(data){ $.each(data.items,function(i,item){ $("<img/>").attr("src",item.media.m).appendTo("#images"); if ( i == 3 ) return false; }); });$.getJSON("test.js",function(json){ alert("JSON Data: " + json.users[3].name); });$.getJSON("test.js",function(json){ alert("JSON Data: " + json.users[3].name); }); 4.$.ajax({ type: "GET",url: "test.js",dataType: "script" });$.ajax({ type: "POST",url: "some.PHP",data: "name=John&location=Boston",success: function(msg){ alert( "Data Saved: " + msg ); } });$.ajax({ url: "test.html",cache: false,success: function(html){ $("#results").append(html); } }); var html = $.ajax({ url: "some.PHP",async: false }).responseText; var xmlDocument = [create xml document]; $.ajax({ url: "page.PHP",processData: false,data: xmlDocument,success: handleResponse });urlString
发送请求地址。
data (可选)Map
待发送 Key/value 参数。
callback (可选)Function
发送成功时回调函数。
type (可选)String
返回内容格式,xml,_default。
3.
Query.getJSON(url,[callback])
概述
通过 HTTP GET 请求载入 JSON 数据。
在 jQuery 1.2 中,您可以通过使用
JSONP 形式的回调函数来加载其他网域的JSON数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在这个回调函数执行前执行。 参数
urlString
发送请求地址。
data (可选)Map
待发送 Key/value 参数。
callback (可选)Function
载入成功时回调函数。
示例
描述:
从 Flickr JSONP API 载入 4 张最新的关于猫的图片。
HTML 代码:
jQuery 代码:
描述:
从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
描述:
从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据。
jQuery 代码:
jQuery.ajax([options])
概述
通过 HTTP 请求加载远程数据。
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get,$.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
最简单的情况下,$.ajax()可以不带任何参数直接使用。
注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。
回调函数
如果要处理$.ajax()得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。
- beforeSend 在发送请求之前调用,并且传入一个XMLHttpRequest作为参数。
- error 在请求出错时调用。传入XMLHttpRequest对象,描述错误类型的字符串以及一个异常对象(如果有的话)
- dataFilter 在请求成功之后调用。传入返回的数据以及"dataType"参数的值。并且必须返回新的数据(可能是处理过的)传递给success回调函数。
- success 当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。
- complete 当请求完成之后调用这个函数,无论成功或失败。传入XMLHttpRequest对象,以及一个包含成功或错误代码的字符串。
数据类型
$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。
通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。
其中,text和xml类型返回的数据不会经过处理。数据仅仅简单的将XMLHttpRequest的responseText或responseHTML属性传递给success回调函数,
注意,我们必须确保网页服务器报告的MIME类型与我们选择的dataType所匹配。比如说,XML的话,服务器端就必须声明 text/xml 或者 application/xml 来获得一致的结果。
如果指定为html类型,任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。类似的,指定script类型的话,也会先执行服务器端生成JavaScript,然后再把脚本作为一个文本数据返回。
如果指定为json类型,则会把获取到的数据作为一个JavaScript对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,他首先尝试使用JSON.parse()。如果浏览器不支持,则使用一个函数来构建。JSON数据是一种能很方便通过JavaScript解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。
注意,JSONP是JSON格式的扩展。他要求一些服务器端的代码来检测并处理查询字符串参数。更多信息可以参阅 最初的文章。
如果指定了script或者jsonp类型,那么当从服务器接收到数据时,实际上是用了<script>标签而不是XMLHttpRequest对象。这种情况下,$.ajax()不再返回一个XMLHttpRequest对象,并且也不会传递事件处理函数,比如beforeSend。
发送数据到服务器
默认情况下,Ajax请求使用GET方法。如果要使用POST方法,可以设定type参数值。这个选项也会影响data选项中的内容如何发送到服务器。
data选项既可以包含一个查询字符串,比如 key1=value1&key2=value2 ,也可以是一个映射,比如 {key1: 'value1',key2: 'value2'} 。如果使用了后者的形式,则数据再发送器会被转换成查询字符串。这个处理过程也可以通过设置processData选项为false来回避。如果我们希望发送一个XML对象给服务器时,这种处理可能并不合适。并且在这种情况下,我们也应当改变contentType选项的值,用其他合适的MIME类型来取代默认的 application/x-www-form-urlencoded 。
高级选项
global选项用于阻止响应注册的回调函数,比如.ajaxSend,或者ajaxError,以及类似的方法。这在有些时候很有用,比如发送的请求非常频繁且简短的时候,就可以在ajaxSend里禁用这个。更多关于这些方法的详细信息,请参阅下面的内容。
如果服务器需要HTTP认证,可以使用用户名和密码可以通过username和password选项来设置。
Ajax请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参数通常就保留其默认值,要不就通过jQuery.ajaxSetup来全局设定,很少为特定的请求重新设置timeout选项。
默认情况下,请求总会被发出去,但浏览器有可能从他的缓存中调取数据。要禁止使用缓存的结果,可以设置cache参数为false。如果希望判断数据自从上次请求后没有更改过就报告出错的话,可以设置ifModified为true。
scriptCharset允许给<script>标签的请求设定一个特定的字符集,用于script或者jsonp类似的数据。当脚本和页面字符集不同时,这特别好用。
Ajax的第一个字母是asynchronous的开头字母,这意味着所有的操作都是并行的,完成的顺序没有前后关系。$.ajax()的async参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。强烈不建议把这个选项设置成false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。
$.ajax函数返回他创建的XMLHttpRequest对象。通常jQuery只在内部处理并创建这个对象,但用户也可以通过xhr选项来传递一个自己创建的xhr对象。返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的.abort()可以在请求完成前挂起请求。
参数
options (可选)Object
AJAX 请求设置。所有选项都是可选的。
选项
asyncBoolean
(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSend(XHR)Function
发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。这是一个 Ajax 事件。如果返回false可以取消本次ajax请求。
function (XMLHttpRequest) { this; // 调用本次AJAX请求时传递的options参数 }
cacheBoolean
(默认: true,dataType为script和jsonp时默认为false) jQuery 1.2 新功能,设置为 false 将不缓存此页面。
complete(XHR,TS)Function
请求完成后回调函数 (请求成功或失败之后均调用)。参数: XMLHttpRequest 对象和一个描述成功请求类型的字符串。 Ajax 事件。
function (XMLHttpRequest,textStatus) { this; // 调用本次AJAX请求时传递的options参数 }
contentTypeString
(默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数情况。如果你明确地传递了一个content-type给 $.ajax() 那么他必定会发送给服务器(即使没有数据要发送)
contextObject
这个对象用于设置Ajax相关回调函数的上下文。也就是说,让回调函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次AJAX请求时传递的options参数)。比如指定一个DOM元素作为context参数,这样就设置了success回调函数的上下文为这个DOM元素。就像这样:
$.ajax({ url: "test.html",context: document.body,success: function(){ $(this).addClass("done"); }});
dataObject,String
发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1","bar2"]} 转换为 '&foo=bar1&foo=bar2'。
dataFilterFunction
给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数:data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
function (data,type) { // 对Ajax返回的原始数据进行预处理 return data // 返回处理后的数据 }
dataTypeString
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
"json": 返回 JSON 数据 。
"jsonp":
JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 "text": 返回纯文本字符串
errorFunction
(默认: 自动判断 (xml 或 html)) 请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout","error","notmodified" 和 "parsererror"。Ajax 事件。
function (XMLHttpRequest,textStatus,errorThrown) { // 通常 textStatus 和 errorThrown 之中 // 只有一个会包含信息 this; // 调用本次AJAX请求时传递的options参数 }
globalBoolean
(默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。
ifModifiedBoolean
(默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。在jQuery 1.4中,他也会检查服务器指定的'etag'来确定数据没有被修改过。
jsonpString
在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onjsonPLoad'}会导致将"onjsonPLoad=?"传给服务器。
jsonpCallbackString
为jsonp请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。
passwordString
用于响应HTTP访问认证请求的密码
processDataBoolean
(默认: true) 默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
scriptCharsetString
只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。通常只在本地和远程的内容编码不同时使用。
successFunction
请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。 Ajax 事件。
function (data,textStatus) { // data 可能是 xmlDoc,jsonObj,等等... this; // 调用本次AJAX请求时传递的options参数 }
TraditionalBoolean
如果你想要用传统的方式来序列化数据,那么就设置为true。请参考工具分类下面的jQuery.param 方法。
timeoutNumber
设置请求超时时间(毫秒)。此设置将覆盖全局设置。
typeString
(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
urlString
(默认: 当前页地址) 发送请求的地址。
usernameString
用于响应HTTP访问认证请求的用户名
xhrFunction
需要返回一个XMLHttpRequest 对象。默认在IE下是ActiveXObject 而其他情况下是XMLHttpRequest 。用于重写或者提供一个增强的XMLHttpRequest 对象。这个参数在jQuery 1.3以前不可用。
示例
描述:
加载并执行一个 JS 文件。
jQuery 代码:
描述:
保存数据到服务器,成功时显示信息。
jQuery 代码:
描述:
装入一个 HTML 网页最新版本。
jQuery 代码:
描述:
同步加载数据。发送请求时锁住浏览器。需要锁定用户交互操作时使用同步方式。
jQuery 代码:
描述:
发送 XML 数据至服务器。设置 processData 选项为 false,防止自动转换数据格式。
jQuery 代码:
AngularJS中$ broadcast(),$ emit()和$ on()的用法
我了解$Broadcast()
,$Emit()
并且$On()
用于在一个控制器中引发事件并在另一个控制器中进行处理。如果可能的话,有人可以直接给我一些有关上述三种用法的实时示例angular JS
吗?
我通过以下链接了解了基本用法。
http://www.binaryintellect.net/articles/5d8be0b6-e294-457e-82b0-ba7cc10cae0e.aspx
答案1
小编典典$ emit
它通过作用域层次结构向上调度事件名称,并通知已注册的$rootScope.Scope
侦听器。事件生命周期从$emit
被调用的范围开始。该事件向上移动到根作用域,并在此过程中调用所有已注册的侦听器。如果其中一个侦听器取消了该事件,则该事件将停止传播。
$广播
它将事件名称向下调度到所有子作用域(及其子作用域),并通知已注册的$rootScope.Scope
侦听器。事件生命周期从$broadcast
被调用的范围开始。该范围内事件的所有侦听器都会收到通知。之后,事件向下遍历子作用域,并沿途调用所有注册的侦听器。该事件无法取消。
$ on
它侦听给定类型的事件。它可以捕捉事件调度的$broadcast
和$emit
。
视觉演示:
演示工作代码,以可视方式显示范围树(父/子关系):http :
//plnkr.co/edit/am6IDw?p=preview
演示方法调用:
$scope.$on(''eventEmitedName'', function(event, data) ... $scope.broadcastEvent $scope.emitEvent
Arrays.asList()vs Collections.singletonList()
Collections.singletonList(something)
是不可变的,
对Collections.singletonList(something)
返回的列表所做的任何更改将导致UnsupportedOperationException
。
Arrays.asList(something)
允许Arrays.asList(something)
更改 。
此外,由Collections.singletonList(something)
返回的List的容量将始终为1,
而Arrays.asList(something)
的容量将为已支持数组的大小。
/**
* Returns an immutable list containing only the specified object.
* The returned list is serializable.
*
* @param <T> the class of the objects in the list
* @param o the sole object to be stored in the returned list.
* @return an immutable list containing only the specified object.
* @since 1.3
*/
public static <T> List<T> singletonList(T o) {
return new SingletonList<>(o);
}
/**
* @serial include
*/
private static class SingletonList<E>
extends AbstractList<E>
implements RandomAccess, Serializable {
private static final long serialVersionUID = 3093736618740652951L;
private final E element;
SingletonList(E obj) {element = obj;}
public Iterator<E> iterator() {
return singletonIterator(element);
}
public int size() {return 1;}
public boolean contains(Object obj) {return eq(obj, element);}
public E get(int index) {
if (index != 0)
throw new IndexOutOfBoundsException("Index: "+index+", Size: 1");
return element;
}
// Override default methods for Collection
@Override
public void forEach(Consumer<? super E> action) {
action.accept(element);
}
@Override
public boolean removeIf(Predicate<? super E> filter) {
throw new UnsupportedOperationException();
}
@Override
public void replaceAll(UnaryOperator<E> operator) {
throw new UnsupportedOperationException();
}
@Override
public void sort(Comparator<? super E> c) {
}
@Override
public Spliterator<E> spliterator() {
return singletonSpliterator(element);
}
}
package com.ysyc.invoicecertify.util.mockservice;
import java.util.Arrays;
import java.util.List;
/**
*
* 本类演示了Arrays类中的asList方法
* 通过四个段落来演示,体现出了该方法的相关特性.
*
* (1) 该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用
* (2) 当使用asList()方法时,数组就和列表链接在一起了.
* 当更新其中之一时,另一个将自动获得更新。
* 注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性
* (3) asList得到的数组是的没有add和remove方法的
*
* 通过查看Arrays类的源码可以知道,asList返回的List是Array中的实现的
* 内部类,而该类并没有定义add和remove方法.另外,为什么修改其中一个,另一个也自动
* 获得更新了,因为asList获得List实际引用的就是数组
*/
public class AsListTest {
public static void main(String[] args) {
/* 段落一:基本数据类型使用asList中的问题 */
/* 说明:虽然在JDK1.6中能够将基本数据类型的数组转换成List,但还是有个缺陷 */
int[] a_int = { 1, 2, 3, 4 };
/* 预期输出应该是1,2,3,4,但实际上输出的仅仅是一个引用, 这里它把a_int当成了一个元素 */
List a_int_List = Arrays.asList(a_int);
foreach(a_int_List);
/* 为此我们需要这样遍历其中元素 */
foreachForBase(a_int_List);
System.out.println("1 END 2 START");
/* 段落二:对象类型的数组使用asList,是我们预期的 */
Integer[] a_Integer = new Integer[] { 1, 2, 3, 4 };
List a_Integer_List = Arrays.asList(a_Integer);
foreach(a_Integer_List);
System.out.println("2 END 3 START");
/* 段落三:当更新数组或者asList之后的List,另一个将自动获得更新 */
a_Integer_List.set(0, 0);
foreach(a_Integer_List);
foreach(a_Integer);
System.out.println("3 END 4 START");
a_Integer[0] = 5;
foreach(a_Integer_List);
foreach(a_Integer);
/* 段落四:对基本类型数组,通过asList之后的List修改对应的值后,在运行时会报出异常
* 但是基本类型数组对应的List是会发生变化的,这是毫无疑问的
*/
a_int_List.set(0, 0);
foreach(a_int_List);
foreach(a_int);
System.out.println("4 END 5 START");
a_int[0] = 5;
foreachForBase(a_int_List);
foreach(a_int);
}
/* 打印方法 */
private static void foreach(List list) {
for (Object object : list) {
System.out.print(object + " ");
}
System.out.println();
}
private static void foreachForBase(List a_int_List) {
int[] _a_int = (int[]) a_int_List.get(0);
foreach(_a_int);
}
private static void foreach(int[] a_int) {
for (int i : a_int) {
System.out.print(i + " ");
}
System.out.println();
}
private static void foreach(Integer[] _a_Integer) {
for (int i : _a_Integer) {
System.out.print(i + " ");
}
System.out.println();
}
}
console:
Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer
at java.util.Arrays$ArrayList.set(Arrays.java:3847)
at com.ysyc.invoicecertify.util.mockservice.AsListTest.main(AsListTest.java:56)
[I@762efe5d
1 2 3 4
1 END 2 START
1 2 3 4
2 END 3 START
0 2 3 4
0 2 3 4
3 END 4 START
5 2 3 4
5 2 3 4
Disconnected from the target VM, address: ''127.0.0.1:54490'', transport: ''socket''
Process finished with exit code 1
今天关于Java CharAt和和deleteCharAt的讲解已经结束,谢谢您的阅读,如果想了解更多关于$ .ajax()和$ .get()和$ .load()之间的区别、Ajax的4个经典的请求get(),post(),getJseon()和ajax()、AngularJS中$ broadcast(),$ emit()和$ on()的用法、Arrays.asList()vs Collections.singletonList()的相关知识,请在本站搜索。
本文标签: