JQuery - AJAX load()方法的帮助

时间:2009-07-16 20:19:37

标签: javascript jquery ajax plugins

我需要从外部页面获取内容并将其作为参数传递给函数。我已经查看了JQuery文档中的url()方法,但似乎只能使用它将外部内容插入到div或其他一些HTML元素中。

基本上我需要做的是:

// I need to insert external page's content into the cont variable, how to do that?
var cont;
// so I can pass it to the bt() function (it's a tooltip plugin)
$('.class').bt(cont, {
    fill: '#2a4d6b',
    cssStyles: {color: 'orange', fontWeight: 'bold', width: 'auto'}
});

有人能告诉我这样的事情是否可能?

3 个答案:

答案 0 :(得分:2)

$.load("http://someplace", function(data){
    $('.class').bt(data, {
        fill: '#2a4d6b',
        cssStyles: {color: 'orange', fontWeight: 'bold', width: 'auto'}
    });
});

没有

也可以通过外部,如何外部?你不能从另一个域获得任何东西,否则将起作用

答案 1 :(得分:1)

您想使用.get(http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype)而不是加载。它将回调函数作为参数。下面将加载一个链接并将其显示在警报中。

$.get('http://your.website.com/page.html', 
  function (data) {  alert(data) } );

你的例子改写了:

$.get('http://your.website.com/page.html', 
      function (data) {  setClass(data); });

function setClass(cont) {
    $('.class').bt(cont, {
        fill: '#2a4d6b',
        cssStyles: {color: 'orange', fontWeight: 'bold', width: 'auto'}  
    });
}

答案 2 :(得分:-1)

应该可以。 的工作原理(我自己没试过)是在页面上创建一个隐藏的IFRAME。然后,将它的src设置为您需要获取的URL,然后使用DOM访问IFRAME的内容。如果您对此有任何疑问,请回复此问题。