オブジェクトとJquery1.7.2を使用してクラスを作成しました。「$.ajax()」や「$ .getJSON()」などのAJAX関連の呼び出しを除いて、すべてのJqueryは正常に機能します。
スコープを気にしないので、私は通常、オブジェクトや関数を介してクラスを作成しません。スコープの問題だと思いますが、他のJqueryコードのかなりの部分が問題なく使用されているため、修正方法がわかりません。したがって、問題はAjaxがJQueryでセットアップされていることに焦点を当てているようです。
以下は、Javascriptコードの一部です。大量になるため、すべてではありません。また、binding()、click()、.each()など、残りのコードですべてのJqueryが使用します。
HTMLだけでなく、Ajax呼び出し以外のすべてが機能するJavaScriptもあります。HTML、CSS、およびJavascriptが検証されました。だから私はそれがスコープの問題だと考え続けています。
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="_res/css/main.css" />
<script src="_res/js/libs/jquery-1.7.2.min.js"></script>
<script src="_res/js/libs/main.js"></script>
</head>
<body></body>
</html>
Javascriptスニペットコード(main.js)
var BettingApp = {
loadData:function()
{
//console.log("loadData()");
//BettingApp.resetData();
// This fails before it even tries to get the data.
$.ajax(
{
url: "/_res/json/sampleData.json",
cache: false,
contentType:"json",
processData: false,
complete: BettingApp.parseData,
success: BettingApp.parseData
});
},
resetData:function()
{
console.log("resetData()");
// This works just fine
$("#agencyBetView ul li").remove();
$("#playerBetView ul li").remove();
},
activateData:function()
{
console.log("activateData()");
}
};
$(document).ready(function(){ BettingApp.loadData(); });
ブラウザからのエラー(最新のChrome、Safari、Firefox)
Uncaught TypeError: Property 'String' of object [object Window] is not a function
jquery-1.7.2.min.js:2
e.extend.type jquery-1.7.2.min.js:2
f.Callbacks.n jquery-1.7.2.min.js:2
f.Callbacks.p.add jquery-1.7.2.min.js:2
f.extend.ajax jquery-1.7.2.min.js:4
BettingApp.loadData main.js:175
BettingApp.updateStep main.js:102
BettingApp.chooseBetType_agency main.js:369
f.event.dispatch jquery-1.7.2.min.js:3
f.event.add.h.handle.i
フルコードで動作するJquery関数
.bind()
.click()
.data()
.each()
.focus()
.focusout()
.html()
.ready()
.remove()
.slideUp()
.slideDown()