链式Jquery Ajax调用


                    

我正在尝试检索有关任何给定网页的一些信息(即页面的和域的),然后使用检索到的信息进行jquery异步POST。 不幸的是,javascript执行到达$ .post(),但从未发出实际的Web请求。 这是我的代码:</ p>

  $。get('../ embed',{u:url},function(html){
     alert('got“'+ html +'”');
     $ .post('/ media / add',{故事:storyid,标题:caption,类型:5,标题:title,内容: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);
     });
});
</ code> </ pre>

是否甚至可以在$ .get()的成功处理程序中进行另一个Ajax调用? 以前有人在使用多个链接的HttpRequest方面取得过成功吗?</ p>
     </ div>

展开原文

原文

I am trying to retrieve some information about any given webpage (namely the of the page and the of the domain) and then make a jquery asynchronous POST with the retrieved information. Unfortunately, the javascript execution reaches the $.post(), but never makes the actual web request. Here is my code:

$.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);
    });
});

Is it even possible to make another ajax call in the success handler of $.get()? Has anyone here had any success with multiple chained HttpRequests before?

1个回答


您可以使用$ .ajax在XML HTTP请求或JSON解析中查找错误(不幸的是,不适用于JSON解析)。 即使解析失败,它仍应显示为文本。 无论如何,要使故障消息如此重构</ p>

  $。ajax({
   网址:“ ../ embed”,
   数据:{u:url},
   成功:功能(html){
     ..
      $ .post
     ..
   },
   错误:函数(XMLHTTPRequest,textStatus,errorThrown){
      //危险威尔·罗宾逊
   }
});
</ code> </ pre>

如果您没有看到第二个请求,则说明该请求失败。 如果仍然找不到错误,请尝试对$ .post进行相同的操作。 您应该考虑将$ .post重构为$ .ajax。 顺便说一句,如果您使用$ .getJSON而不是$ .post,parseJSON是自动的。 这类似于$ .ajax中的dataType:'json'。</ p>
     </ div>

展开原文

原文

You can use $.ajax to find errors in the XML HTTP requests or JSON parsing (may not work for JSON parsing unfortunately). That should still display as text even if it fails to parse. Anyways, to get failure messages refactor as so

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

If you don't see a second request, this is the request that is failing. If you still don't find an error, try doing the same with the $.post. You should consider refactoring $.post to $.ajax. By the way, parseJSON is automatic if you use $.getJSON instead of $.post. This is akin to dataType: 'json' within $.ajax.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问