我正在尝试使用此功能从其他页面加载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页写一些回调,我该怎么做?
添加。
这是Page1。
$('#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=" ">
答案 0 :(得分:1)
管理新插入的html的代码有两种方法,例如使用load()
时。您必须在插入新元素后对其运行任何事件绑定代码(或插件),或者必须使用绑定到DOM树中作为页面中的permament资产的元素的事件delgation
委派方法(考虑未来或替换元素):
而不是$('.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....
})
FYI- jsonp
用于检索跨域的JSON数据...与html非常不同。由于引用jsonp