load()由一个不工作的按钮触发

load() triggered by a button not working

本文关键字:按钮 工作 一个 load      更新时间:2023-09-26

我第一次尝试使用AJAX和JQuery加载内容。我有一个"容器网页",我必须显示一些分为4个其他网页的数据,所以我只想加载整个"容器网页"的一个div。每一页都包含一个加载下一页的按钮。例如,我有一个简单的HTML:

<button id="btn">Load</button>
<div id="result" onclick="loadContent()"></div>

这个JQuery代码只适用于一个按钮:

var loadContent = function(){
   $('#result').load('http://jsfiddle.net/gal007/m44cqzrb/show/');
}

但当我点击时,什么也没发生。。。你能帮我吗?我知道这应该很容易,但我已经习惯了Js,而不是JQuery,这让我疯了。。。提前谢谢。

小提琴:http://jsfiddle.net/gal007/pt2Lzmj9/4/

您有几个问题:

  • 当您打算将单击处理程序绑定到按钮时,您将其绑定到div
  • loadContent()函数在全局上下文中不可用。因为包含了jQuery,所以所有的javascript都是在本地上下文中创建的。看看jsfiddle生成的源代码,你就会明白我的意思
  • 您正在尝试执行跨域Ajax加载,这通常是不允许的

您应该在javascript中尝试一下。。。

$('#btn').click( function() {
    $('#result').load('/gal007/m44cqzrb/show/');
});

并更改您的HTML以摆脱内联JS。。。

<button id="btn">Load</button>
<div id="result"> </div>

那就行了。

您应该在按钮上绑定onclick,而不是在div:上

<button id="btn" onclick="loadContent()">Load</button>
<div id="result"></div>

load仅用于从同一域加载html。。。

我将按如下方式分配单击处理程序。

$('#result').click(function() {
   $(this).load('...');
});

(如果您想处理按钮上的点击事件,请将"#result"更改为"#btn"!)

我真的不知道"加载"函数,所以我认为它很好。您可能希望调试脚本。使用jQuery的开发人员版本,这样您就有机会了解发生了什么。