jQuery
にこのコードがあります:(ファイル名はjavascript.jsです...以前JavaScriptを使用していました...)
$(document).ready(function() {
$("#readFile").click(function() {
$.get('test.txt', function(data) {
$("#bottom_pane_options").html(data); // #bottom_pane_options is the div I want the data to go
}, 'text');
});
});
...そしてこれをHTMLで:
<!DOCTYPE html>
<html>
<head>
<title>Culminating</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="./javascript.js"></script>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCJnj2nWoM86eU8Bq2G4lSNz3udIkZT4YY&sensor=false">
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
function initialize()
{
var mapProp = {
center:new google.maps.LatLng(50.569283,-84.378433),
zoom:5,
mapTypeId:google.maps.MapTypeId.TERRAIN
};
var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div class="content">
<div id="googleMap"></div>
<div id="right_pane_results">hi</div>
<div id="bottom_pane_options">
<button id="readFile">Read File</button>
</div>
</div>
</body>
コンソールを確認すると、Uncaught ReferenceError
と言う$
は最初の行で定義されていません。私はそれが最初の行の最初の文字を参照していると仮定しています。このコードはウェブサイトから入手しましたが、jQuery
が初めてなので、ここで何が間違っているのかわかりません。
助言がありますか?
スクリプトを含める順序を変更します(jQueryが最初)。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="./javascript.js"></script>
<script
src="http://maps.googleapis.com/maps/api/js?key=YOUR_APIKEY&sensor=false">
</script>
スクリプトは、HTMLで定義した順序でロードされます。
したがって、最初にロードする場合:
<script type="text/javascript" src="./javascript.js"></script>
最初にjQueryをロードせず、次に$ is not defined
。
最初にjQueryをロードして、使用できるようにする必要があります。
パフォーマンス上の理由から、スクリプトをHTMLの下部に配置することもお勧めします。
最初にjQueryファイルを含めます。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="./javascript.js"></script>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCJnj2nWoM86eU8Bq2G4lSNz3udIkZT4YY&sensor=false">
</script>
MVC 5の標準インストールでは、すべてのページで共有される_Layout.cshtmlファイルにJavaScript参照が配置されます。したがって、javascriptファイルは、メインコンテンツとdocument.ready関数の下にあり、すべての$がありました。
_Layout.cshtmlの下部:
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
それらを@RenderBody()の上に移動しましたが、すべて問題ありませんでした。
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
</body>
</html>