weixin_33686714 2011-10-13 12:04 采纳率: 0%
浏览 34

返回“成功:”方法的数据?

I'm trying to get the return value of a utility method I wrote using jquery:

function loadFrames(coords, spritesheet) {
    return $.ajax({
        type: "GET",
        url: coords,
        dataType: "xml",
        success: function(xml,code,obj) {return parseFrameData(xml, spritesheet);}
    });
}

So, this method receives two arguments, opens a file (the one pointed to by the "plist" argument) and runs the parseFrameData method. The latter returns an array of objects.

I would like to use this the following way:

var frames = loadFrames('player.xml', 'spritesheet.png');

but I don't find the way to say "return the value of the method you called on line starting with "'success:' "...

  • 写回答

2条回答 默认 最新

  • weixin_33728708 2011-10-13 12:08
    关注

    Ajax runs asynchronously (meaning in the background, allowing other things to continue) so you wont be able to directly return a value from it.

    How ever, you can pass the function a callback that will be called once the Ajax request is finished.

    function loadFrames(coords, spritesheet, callback) {
        $.ajax({
            type: "GET",
            url: coords,
            dataType: "xml",
            success: function(xml,code,obj) { callback(parseFrameData(xml, spritesheet)); }
        });
    }
    

    Also, on a side note, dont forget to check for HTTP errors like 404 and 500 by passing a error paramter to the ajax call

    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?