<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="js中同步与异步处理的方法和区别总结" id="card1">
<p> 游客</p><p>
标题:js中同步与异步处理的方法和区别总结<br/>
正文:<br/>
在使用异步请求时，有时需要将异步请求的结果返回给另一个js函数，此种情况下会出现未等异步请求返回请求结果，该发送请求所在js函数已经执行完后续操作，即已经执行return ，这样会导致return的结果为空字符。 <br/><br/>总结：若要在使用ajax请求后处理发送请求返回的结果，最好使用同步请求。 <br/><br/>例如：以下例子会出现返回结果不正确的情况，因为ajax异步请求还未执行完，函数已经执行return了， <br/>代码如下:<br/>function fn(){ <br/><br/>var result = &quot; &quot;; <br/><br/>$.ajax({ <br/>url : 'your url', <br/>data:{name:value}, <br/>cache : false, <br/>async : true, <br/>type : &quot;POST&quot;, <br/>success : function (data){ <br/>do something.... <br/><br/>result = .... <br/>} <br/><br/>// 对ajax中返回的data进行处理 ，也会出错 <br/><br/>return result ; <br/>} <br/><br/>1 异步请求方式： <br/>代码如下:<br/>$.ajax({ <br/>url : 'your url', <br/>data:{name:value}, <br/>cache : false, <br/>async : true, <br/>type : &quot;POST&quot;, <br/>dataType : 'json/xml/html', <br/>success : function (result){ <br/>do something.... <br/>} <br/>}); <br/><br/>2 同步请求方式 <br/>代码如下:<br/>$.ajax({ <br/>url : 'your url', <br/>data:{name:value}, <br/>cache : false, <br/>async : false, <br/>type : &quot;POST&quot;, <br/>dataType : 'json/xml/html', <br/>suc<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=817&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=817&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=817&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=817&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=817">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=817">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>