<body>
请问ajax
里面的回调函数是返回data再执行函数里面的代码
还是不等data返回就直接执行函数里面的代码
的呢?
如果是第二种情况,该如何避免异步带来的困扰呢?
回复内容:
<body>
请问ajax
里面的回调函数是返回data再执行函数里面的代码
还是不等data返回就直接执行函数里面的代码
的呢?
如果是第二种情况,该如何避免异步带来的困扰呢?
success的回调函数是data成功返回后要执行的函数,也就是说要得到data之后才会执行
其他情况下的还有像beforeSend(发送前),complete(请求完成后),error(请求出错)的回调
至于你说的异步带来的困扰我不太明白,可以举例说一下吗?
+本文来源gao!%daima.com搞$代*!码9网(
搞gaodaima代码
肯定是返回data再去执行函数里面的代码= = 不返回data就执行= =岂不是等着报错。
ajax
的全称AJAX = Asynchronous JavaScript and XML
(异步的 JavaScript 和 XML)。
首先回答您的问题,success的情况下,当成功返回data以后,才会执行函数。没有返回的话,会很乖巧的等待一会儿时间,这个时间一般是网络延迟时间。同时也可以自己设置。
下面以伟大的jquery
框架的ajax
简单说下。
通常,我会这样使用,name+value的形式。
<code>$.ajax({name:value, name:value, ... })</code>
-
async
布尔值,表示请求是否异步处理。默认是 true。设置为false,你就关闭了异步,此时一次请求,界面会很卡。 -
beforeSend(xhr)
发送请求前运行的函数。 -
cache 布尔值,表示浏览器是否缓存被请求页面。默认是 true。
-
complete(xhr,status)
请求完成时运行的函数(在请求成功或失败之后均调用,即在 success 和 error 函数之后)。 -
contentType 发送数据到服务器时所使用的内容类型。默认是:”application/x-www-form-urlencoded”。
-
context 为所有 AJAX 相关的回调函数规定 “this” 值。
-
data
规定要发送到服务器的数据。 -
dataFilter(data,type) 用于处理 XMLHttpRequest 原始响应数据的函数。
-
dataType
预期的服务器响应的数据类型。 -
error(xhr,status,error)
如果请求失败要运行的函数。 -
global 布尔值,规定是否为请求触发全局 AJAX 事件处理程序。默认是 true。
-
ifModified 布尔值,规定是否仅在最后一次请求以来响应发生改变时才请求成功。默认是 false。
-
jsonp 在一个 jsonp 中重写回调函数的字符串。
-
jsonpCallback 在一个 jsonp 中规定回调函数的名称。
-
password 规定在 HTTP 访问认证请求中使用的密码。
-
processData 布尔值,规定通过请求发送的数据是否转换为查询字符串。默认是 true。
-
scriptCharset 规定请求的字符集。
-
success(result,status,xhr)
当请求成功时运行的函数。 -
timeout
设置本地的请求超时时间(以毫秒计)。 -
traditional 布尔值,规定是否使用参数序列化的传统样式。
-
type
规定请求的类型(GET 或 POST)。 -
url
规定发送请求的 URL。默认是当前页面。 -
username 规定在 HTTP 访问认证请求中使用的用户名。这个可以模拟用户的登录,再加上password,你懂的。
-
xhr 用于创建 XMLHttpRequest 对象的函数。
红色部分,是我本人常用的。
等你请求的接口成功响应数据以后回调这个success函数,所以只要你服务端处理正常,data返回的就是你想要的数据
问题的答案,上面已经说了,我就不重复了,我只是想问一下你说的异步的困扰有哪些。