天天看點

jq return ajax 無效,jquery ajax return: undefined

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. :)