代码之家  ›  专栏  ›  技术社区  ›  Zach Luke Hutchison

链式Jquery Ajax调用

  •  1
  • Zach Luke Hutchison  · 技术社区  · 15 年前

    $.get('../embed', {u: url}, function(html) {
        alert('got "' + html + '"');
        $.post('/media/add', { story: storyid, caption: caption, type: 5, title: title, content: html, meta: meta }, function(data) {
            var obj = jQuery.parseJSON(data); 
            var thumb = imageUrlFromMedia(obj);
            var clip = addToClipboard(obj.id, thumb || '/img/icons/embedly.png', obj.name);
        });
    });
    

    甚至可以在$.get()的成功处理程序中进行另一个ajax调用吗?这里有没有人在处理多个链接的httprequest方面取得过成功?

    2 回复  |  直到 15 年前
        1
  •  0
  •   Drew    15 年前

    您可以使用$.ajax查找XML HTTP请求或JSON解析中的错误(不幸的是,对于JSON解析可能不起作用)。即使无法解析,它也应该显示为文本。无论如何,要获得失败消息,请重构为

    $.ajax({
      url: '../embed',
      data: {u: url},
      success: function(html){
        ..
         $.post
        ..
      },
      error: function(XMLHTTPRequest, textStatus, errorThrown){
         //Danger Will Robinson
      }
    });
    

    如果您没有看到第二个请求,这就是失败的请求。如果仍然没有找到错误,请尝试对$.post执行同样的操作。您应该考虑将$.post重构为$.ajax。顺便说一下,如果使用$.getJSON而不是$.post,parseJSON是自动的。这类似于$.ajax中的数据类型:“json”。

        2
  •  0
  •   Charles Chen    15 年前