Jquery $(文档).ready和xhr
我使用jquery编写代码。我的问题是$(document).ready(function()),它调用两个执行xhr请求的函数Jquery $(文档).ready和xhr,jquery,xmlhttprequest,document-ready,Jquery,Xmlhttprequest,Document Ready,我使用jquery编写代码。我的问题是$(document).ready(function()),它调用两个执行xhr请求的函数 <script type="text/javascript"> $(document).ready(function() { getIdCategories(); getnameCategories(); }); </script> 以及: 函数getnameCategories() { var request=new XMLHttpRequ
<script type="text/javascript">
$(document).ready(function() {
getIdCategories();
getnameCategories();
});
</script>
以及:
函数getnameCategories()
{
var request=new XMLHttpRequest();
如果(i
Ajax
调用只是async
请求,这意味着您无法控制先完成哪个请求的顺序。但您仍然可以通过添加另一个回调来解决它
$(document).ready(function() {
getIdCategories(function(){
getnameCategories();
});
});
// in 'getIdCategories'
function getIdCategories(cb) {
if (/* ajax complete */) {
// fire callback function
cb && cb();
}
}
Ajax
调用是一个简单的async
请求,这意味着您无法控制先完成哪个请求的顺序。但您仍然可以通过添加另一个回调来解决它
$(document).ready(function() {
getIdCategories(function(){
getnameCategories();
});
});
// in 'getIdCategories'
function getIdCategories(cb) {
if (/* ajax complete */) {
// fire callback function
cb && cb();
}
}
看看$。ajax
:
这比当地的方式容易得多
AJAX意味着异步JavaScript和XML,其中异步意味着脚本不会等待请求完成。这意味着两个请求同时启动,您无法知道哪一个更快。但是您可以从第一个请求开始在回调函数中启动第二个请求,因此第二个请求在第一个请求完成时开始
$(function(){
$.ajax({
type: 'GET',
url: '',
data: {},
success:function(data){
console.log('First request done');
/* Start second request HERE */
}
});
});
$。ajax
还提供同步请求。对于同步请求,脚本将等待请求完成:
$(function(){
$.ajax({
type: 'GET',
url: '',
data: {},
async: false
});
console.log('First request done');
/*Start second request HERE */
});
看看$。ajax
:
这比当地的方式容易得多
AJAX意味着异步JavaScript和XML,其中异步意味着脚本不会等待请求完成。这意味着两个请求同时启动,您无法知道哪一个更快。但是您可以从第一个请求开始在回调函数中启动第二个请求,因此第二个请求在第一个请求完成时开始
$(function(){
$.ajax({
type: 'GET',
url: '',
data: {},
success:function(data){
console.log('First request done');
/* Start second request HERE */
}
});
});
$。ajax
还提供同步请求。对于同步请求,脚本将等待请求完成:
$(function(){
$.ajax({
type: 'GET',
url: '',
data: {},
async: false
});
console.log('First request done');
/*Start second request HERE */
});
jQuery的AJAX函数有一个名为async的参数,可以将该参数设置为false以强制执行同步行为
$(function(){
$.ajax({
type: 'GET',
url: '',
async: false,
data: {},
success:function(data){
console.log('First request done');
/* Start second request HERE */
}
});
}))
//调用另一个ajax函数
这应该允许您控制执行顺序。除非第一个调用返回,否则第二个调用将不会启动jQuery的AJAX函数有一个名为async的参数,您可以将该参数设置为false以强制执行同步行为
$(function(){
$.ajax({
type: 'GET',
url: '',
async: false,
data: {},
success:function(data){
console.log('First request done');
/* Start second request HERE */
}
});
}))
//调用另一个ajax函数
这将允许您控制执行顺序。。除非第一个调用返回,否则第二个调用将不会启动,这是意料之中的:Ajax调用是异步的。您无法保证先完成哪个。既然已经有了jQuery及其$.ajax
方法,为什么还要使用本机XMLHttpRequest
对象?这就像买了一栋新房子,晚上在街上睡觉。为什么不在XHR中使用jQuery呢?这是意料之中的:Ajax调用是异步的。您无法保证先完成哪个。既然已经有了jQuery及其$.ajax
方法,为什么还要使用本机XMLHttpRequest
对象?这就像买了一栋新房子,晚上在街上睡觉。为什么不在XHR中使用jQuery呢?您的代码不起作用。语法错误,在async:false之后缺少,
,您的代码不工作。语法错误,在async:false之后缺少,