2010-03-22 55 views
0

我曾经有一个简单的ajax帮助我从一个页面获取所有项目并将其全部粘贴到一个div。现在,我需要对设计进行改进,以便将项目粘贴到不同的区域。使用ajax时将东西放置到多个位置获得

即 新闻标题应该放在 新闻说明应放置在 新闻日期应放置在

我应该如何改变我的代码?

function ViewNews(NewsID) { 
     $.ajax({ 
      type: "GET", 
      url: "/FLPM/cp/images.cs.asp?Process=ViewNews&NEWSID="+NewsID, 
      success: function(data) { 
       $(".newscontent").html(data); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       $(".newscontent").html('.'); 
      } 
     }); 
    }; 

回答

0

如果您从Web服务调用中返回json对象,则可以将每个对象放在页面上的不同位置。

例如,假设您的JSON是这样的:

{"date":"2/1/2010","title":"New Article", "description":"This article is about..."} 

然后你可以有你的成功的功能做这样的事情:

success: function(data) { 
    $(".newsdate").html(data.date); 
    $(".newstitle").html(data.title); 
    $(".newsdescription").html(data.description); 
}, 
+0

我不能将其转换为json,但我可以将其转换为xml。这也能工作吗? – zurna 2010-03-22 21:22:20

+0

Javascript会自动解压json,这就是我推荐它的原因。我相信你也可以解析XML。 – Keltex 2010-03-22 21:44:47

1

一个可行的办法,未经测试:

// Create placeholder div and load remote page into it 
$('<div />').load('http:// ...', null, function() { 
    // Get date from loaded page using our placeholder div as a context 
    var date = $('.date-selector-in-remote-document', this).html(); 
    $('.newsdate').html(date); 
    // Repeat above two lines for title & content etc. 
    // Free few (hundred) kilobytes of memory, kudos to McMillan. 
    $(this).remove(); 
}); 
+0

不要忘了''.remove()'完成它后的股利。 – 2010-03-22 21:36:25

相关问题