[英]Loading content into tooltip via ajax
我正在使用此插件通過ajax將內容加載到工具提示中。 理解並開始使用它非常簡單。 這是我的jsp頁面,我希望將鼠標懸停在鏈接上時將內容動態加載到工具提示中。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.hoverIntent.js" type="text/javascript"></script> <!-- optional -->
<script src="jquery.cluetip.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('a.basic').cluetip();
});
function web()
{
alert('asffdsr');
}
</script>
</head>
<table border="1">
<tr>
<th>Question name</th>
<th>Group ID</th>
<th>opt1(#votes)</th>
<th>opt2(#votes)</th>
<th>opt3(#votes)</th>
<th>opt4(#votes)</th>
<tr>
<c:forEach var="questions" items="${questionslist}">
<tr>
<td><a class="basic" href="http://www.google.com" rel="http://www.google.com" ><c:out value="${questions.question}"/></a></td>
....
如果您查看上述代碼,則會在底部找到<a>
標記,其標記為class = basic
並且要通過ajax加載到工具提示中的頁面是http://www.google.com
。腳本src和javascript函數。 我已經將所有js文件導入到包含jsp頁面的文件夾中。
但是由於某種原因,工具提示沒有出現。 這里有什么問題以及如何糾正? 還有什么方法可以檢查是否所有3個js文件都已導入頁面?
以下結構描述了css和jsp文件所在的位置。 css和js字段位於Web內容文件夾內,而jsp文件位於
網頁內容
網絡信息
JSP文件
CLUETIP CSS和JAVASCRIPTFILES ..
這是屏幕截圖。 如您所見, js字段未加載。 但是正在檢索css文件。
編輯#1
該頁面是通過div中的ajax加載的。 因此,在單擊查看頁面源代碼時,我們無法看到div中內容的源代碼。
編輯#2
即使使用CDN,也不會導入jquery.js
文件,即在開發人員工具的“網絡”標簽中,沒有對javascript文件進行調用。 我在開頭部分給出了script src
行。
編輯:根據對問題的編輯,這是怎么回事。 當您通過Ajax將內容加載到頁面上時,該內容中的任何腳本標簽都不會執行。 參見以下問題: 通過AJAX加載腳本標簽以獲取更多詳細信息。 請務必閱讀所有答案,因為解決方案可能取決於您的特定情況。
原始答案
您正在嘗試從您的網站向另一個域google.com發出ajax請求。 瀏覽器不允許這樣做,這稱為跨域請求。 根據qtip錯誤處理程序:
error: function(xhr, textStatus) {
if ( options.ajaxCache && !caches[cacheKey] ) {
caches[cacheKey] = {status: 'error', textStatus: textStatus, xhr: xhr};
}
if (isActive) {
if (optionError) {
optionError.call(link, xhr, textStatus, $cluetip, $cluetipInner);
} else {
$cluetipInner.html('<i>sorry, the contents could not be loaded</i>');
}
}
}
您應該得到以下內容: <i>sorry, the contents could not be loaded</i>
到您的工具提示中(請參閱jsfiddle )。 檢查錯誤控制台,最明顯的答案是您在其中一個文件上收到404
錯誤,該錯誤應顯示在所使用的任何應用程序的開發人員工具中。 看看這把我用不存在的javascript文件替換“ cluetip”的小提琴發生了什么。 chrome開發者控制台如下所示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.