0

我正在尝试使用这个从另一个页面加载一个 div,

$('#result').load('page2.php #divX')

但即使 page1 和 page 2 使用链接在两个页面头部的相同 JavaScript 文件,该页面中包含的 JavaScript 也不会工作。所以我认为这是同源政策。我如何使用 jquery 和 json 来绕过这个限制?

像 Ajax 这样的东西,但我不知道从这里去哪里。

(function($) {
    var url = 'page2';
    $.ajax({
       type: 'GET',
        url: url,
        async: false,
        contentType: "application/json",
        dataType: 'jsonp'
    });
})(jQuery);

我知道如果我没记错的话,我必须在第 2 页写一些回调,我该怎么做?

添加。

这是第 1 页。

$('#Loadfrompage2').click(function() {
$('#result').load('../page2.php #divX')
});

第 2 页内容。

<div id="divX">
            <input name="B" type="submit" value=" ">
            <input name="P" type="submit" id="Q" value=" ">
             <input name="A" type="submit" value=" ">

4

1 回答 1

1

有两种方法可以管理新插入的 html 的代码,例如在使用load(). 您必须在插入新元素后在新元素上运行任何事件绑定代码(或插件),或者您必须使用事件委托来绑定到 DOM 树更上方的元素,这些元素是页面中的永久资产

委托方法(考虑未来或替换的元素):

而不是$('.myButtonclass').click....使用:

$(document).on('click', '.myButtonclass', function(){

    /* same code you already have in current click handler*/

})

插入后的方法:

$('#content').load('path/to/server', function(){
   /* new html exist now*/
   $(this).find('.buttonClass').click....
})

仅供参考jsonp-用于跨域检索 JSON 数据...与 html 非常不同。由于参考,此线程的主题变得混乱jsonp

于 2013-11-02T18:51:00.347 回答