ajax同步和异步使用上的区别

ajax同步和异步使用上的区别主要是async的设置,为false是同步,表示在代码执行时,会等到ajax执行完成返回结果后,再继续执行下一段代码;为true是异步,表示代码不必等到ajax返回结果,在ajax请求发出后,会开启一个线程去执行请求,然后代码继续向下执行。
ajax同步:

$.ajax({
url: lsp.global.lsp_port+"/api.rsc/"+lsp.global.db_name+"_dbo_po_header("+po_header_id+")",
async: false,
cache: false,
type: 'PUT',
processData: false,
contentType: 'application/json',
data: JSON.stringify(putdata),
success: function(data) {
},
error: function(xhr, ajaxOptions, thrownError) {
},
})
ajax异步:

$.ajax({
url: lsp.global.lsp_port+"/api.rsc/"+lsp.global.db_name+"_dbo_po_header("+po_header_id+")",
async: true,
cache: false,
type: 'PUT',
processData: false,
contentType: 'application/json',
data: JSON.stringify(putdata),
success: function(data) {
},
error: function(xhr, ajaxOptions, thrownError) {
},
})
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。

用户填写所有信息后,提交给服务器,等待服务器的回应(检验数据),是一次性的。信息错误又要重新填写!

异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

当用户填写完一条信息后,该信息会自动向服务器提交,然后服务器响应客户端,在此过程中,用户依然在填写表格的信息,即向服务器请求多次,节省了用户的时间,提高了用户的体验。

同步请求:

客户端请求(等待)->服务端处理->响应->页面载入

(缺少对象:XMLhttpRequest)
这时候如果有错误,只能再次发送请求,再次等待

异步请求:

比如当你填写邮箱地址的时候,页面当时就把邮箱地址发送到了服务器(也就是页面发送了一个请求),服务器做处理和响应,得到你的邮箱地址填写重复了,把响应结果发给页面,在这个过程中你仍然可以填写其他内容,这时候服务器会提示你有重复的邮箱地址,在页面上的表现只是邮箱地址旁别加了一行字或者把整个文本框标红,并没有重新刷你的页面,所有的填写错误会实时的显示出来,你也会实时的更正。这个过程中,你会有整个页面的刷新,也不会有整个页面的提交和等待,最后提交,一切都会搞定的

猜你喜欢

转载自www.cnblogs.com/gatevalve/p/10414737.html