jq return ajax 无效,jquery ajax return: undefined

该博客探讨了如何通过设置AJAX调用的async属性为false来确保返回值在AJAX请求完成后可用。作者提供了一个示例函数makeJQGridDataFromList,该函数从URL获取数据并构建一个用于jqGrid的JSON对象。在处理过程中,如果遇到错误,会显示警告,并在成功时返回结果对象。测试方法是在另一个HTML或JS文件中调用此函数并打印结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I recommend this way.

use the ajax call by the async:false.

move the return statement after the ajax call.

Example :

function makeJQGridDataFromList(url)

{

var rowData;

var viewPage = 0;

var viewTotal = 0;

var viewRecords = 0;

var resultObject;

$.ajax({

type:"GET",

url:url,

async: false,

success:function(args){

if(args.result==true)

{

try

{

viewPage = args.cond.pageIndex;

viewTotal = args.cond.recordCountPerPage;

viewRecords = args.cond.totalCnt;

rowData = jsonMakeRowsForGrid(args.data);

}

catch (e)

{

console.debug("Error!");

alert("Invalid data");

return;

}

} else

{

alert("API return ERROR!");

return;

}

},

error:function(e){

alert("Fail AJAX communication");

return;

}

});

resultObject = {

page : viewPage,

total : viewTotal,

records : viewRecords,

rows : rowData

};

return(resultObject);

}

You can test the following method.

(In the other file (html or js))

var gridData = makeJQGridDataFromList(openAPIUrl);

console.debug(">> " + JSON.stringify(gridData));

You can see the gridData.

I faced same problems. :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值