Jquery 如何从ajax函数中获取值以执行另一个函数
我一直在寻找和阅读大约3个小时,但我不能使它的工作。我想从一个函数中得到一个值,这样我就可以用它来执行另一个函数。我读到,我必须创建一个回调,但我是新的,所以我不知道怎么做。你们能帮帮我吗 这是从php提取数据的代码:Jquery 如何从ajax函数中获取值以执行另一个函数,jquery,getjson,Jquery,Getjson,我一直在寻找和阅读大约3个小时,但我不能使它的工作。我想从一个函数中得到一个值,这样我就可以用它来执行另一个函数。我读到,我必须创建一个回调,但我是新的,所以我不知道怎么做。你们能帮帮我吗 这是从php提取数据的代码: $.getJSON(callback_url, { ajax_action: 'list', ajax_data: '' }, function(data
$.getJSON(callback_url, {
ajax_action: 'list',
ajax_data: ''
}, function(data){
document.getElementById('ajax-box').innerHTML = "";
for(i=0;i<data.length;i++){
document.getElementById('ajax-box').innerHTML += '<div> Some data loaded here</div>';
}
});
我得到一个错误:
ReferenceError:未定义数据
如果(data.length>1){
关于,由于
数据
的作用域不在ajax调用
之外,因此您得到了错误
在ajax调用之外保留一个变量,并使用该变量访问数据
var d;
$.getJSON(callback_url, {
ajax_action: 'list',
ajax_data: ''
}, function(data){
d = data; // added in your code
document.getElementById('ajax-box').innerHTML = "";
for(i=0;i<data.length;i++){
document.getElementById('ajax-box').innerHTML += '<div> Some data loaded here</div>';
}
});
// use your d here
vard;
$.getJSON(回调\u url{
ajax_操作:“列表”,
ajax\u数据:“”
},函数(数据){
d=data;//添加到代码中
document.getElementById('ajax-box')。innerHTML=“”;
对于(i=0;i函数doAjax(postrl、postBody、callback){
$.ajax({
键入:“post”,
网址:postrl,
数据:JSON.stringify(postBody),
contentType:“应用程序/json;字符集=utf-8”,
传统的:是的,
成功:功能(数据){
回调(数据);
},
错误:函数(xhr、ajaxOptions、thrownError){
回调(thrownError);
}
});
}
doAjax(回调函数\uURL,{request\ubody\uJSON},函数(数据){
document.getElementById('ajax-box')。innerHTML=“”;
对于(i=0;我能确认data
实际上是一个JSON数组吗?试试console.log(JSON.stringify(data));
看看上面说的是什么。我想你知道你可以从函数(data)块内部调用另一个函数吗?只要在那里做一个条件检查,然后调用你想要的任何函数。@AlexReidy非常感谢……我忘记了!
var d;
$.getJSON(callback_url, {
ajax_action: 'list',
ajax_data: ''
}, function(data){
d = data; // added in your code
document.getElementById('ajax-box').innerHTML = "";
for(i=0;i<data.length;i++){
document.getElementById('ajax-box').innerHTML += '<div> Some data loaded here</div>';
}
});
// use your d here
function doAjax(postUrl,postBody,callback){
$.ajax({
type: 'post',
url: postUrl,
data: JSON.stringify(postBody),
contentType: "application/json; charset=utf-8",
traditional: true,
success: function (data) {
callback(data);
},
error: function (xhr, ajaxOptions, thrownError) {
callback(thrownError);
}
});
}
doAjax(callback_url,{request_body_json},function(data){
document.getElementById('ajax-box').innerHTML = "";
for(i=0;i<data.length;i++){
document.getElementById('ajax-box').innerHTML += '<div> Some data loaded here</div>';
}
});