簡體   English   中英

非常簡單的 jQuery.load 示例不工作

[英]Very Simple jQuery .load Example Not Working

我認為這是一個非常簡單的問題,但我似乎無法讓它發揮作用。 我需要使用 JavaScript (特別是 jQuery,顯然)從頁面中獲取一些內容,並將其拉入另一個頁面。 我已經對此進行了很多研究,但似乎連一個非常簡單的例子都無法工作。

這是我試圖從中獲取內容的頁面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
</head>
<body>
<p>This is the test html page.</p>
</body>
</html>

這是我試圖用來提取內容的頁面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PullData</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</head>
<body>

<ol id="result"></ol>

<script type="text/javascript">
$('#result').load('test.html');
</script>

</body>
</html>

當我打開頁面時,它似乎沒有做任何事情。 我基本上要嘗試遵循jquery.Z4D236D9A2D9A2C55FE6DFE6AD1C50DA4BEC50Z:Z80791B3AE7002CB2C2C2468C2C248C29.88C29FAPA.2C2CBBEC2C55FE.Z4D9AFA.Z4D2C59FA.2.RE476D9FAE76D9FAPA.2.2CBBEC.Z4D29.FAE76D9FAPA.2.2.2.2.2.2.23.1D9FAPA.RAPE

html 兩個頁面都在我的 C 驅動器的某個文件夾中。

我錯過了什么?

在此先感謝您的幫助!

你使用的是什么瀏覽器?

由於同源策略,一些瀏覽器不允許 AJAX 請求到file:/// URL,即使原始文件是以這種方式加載的。 我知道 Chrome 是這樣,但還沒有測試過其他的。

你的.load()錯誤處理程序說什么? 哦...

您的頁面末尾有您的腳本標簽,這意味着一旦瀏覽器到達它,就會調用隨附的 JS,這可能不會在 DOM 准備好之前(這意味着<ol>可能未設置為獲取 test.html 的內容)。 嘗試將負載包含在$(document).ready()回調中,如下所示:

<script type="text/javascript">
$(document).ready(function() {
    $('#result').load('test.html');
});
</script>

另外,為什么要將完整的 HTML 頁面插入有序列表? 您應該嘗試將 HTML 片段(沒有頭部和身體標簽)放入內容持有者,例如<div><span> ,其中它在語義上是正確的。

如果這些都不起作用,請按如下方式附加回調:

$('#result').load('test.html', null, function(responseText, textStatus, xhr) {
    alert(textStatus); // see what the response status is
});

這似乎合乎邏輯。

在加載時檢查 API,您可能想查看它是否實際加載,或者是否出現錯誤

$("#result").load("/not-here.php", function(response, status, xhr) {
if (status == "error") {
    var msg = "Sorry but there was an error: ";
    $("#result").html(msg + xhr.status + " " + xhr.statusText);
  }
});

API 鏈接: http://api.jquery.com/load/

有時調試信息是任何解決方案的良好第一步。

結束腳本標簽在哪里?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</head>

您的代碼必須是

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>

您必須首先檢查您的 HTML 是否准備就緒

$(document).ready(function() {
    $('#result').load('test.html');
});

為確保#result1已加載,您需要一個document.ready事件處理程序:

<script type="text/javascript">
$(document).ready(function(){
  $('#result').load('test.html');
});
</script>

希望這可以幫助。 干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM