先不說為什麼用 jquery。
想問問我的放法是
<html>
...
<body>
<script src="...jquery.min.js"></script>
<script src="functions.js"></script>
<script src="use.js"></script>
...
</body>
</html>
補充~
functions.js
function getW(data) {
$.ajax(`xxx`, {
type: 'get',
data: data,
success(data) {
return data
},
error(xhr) {
console.log(xhr)
}
})
}
use.js
let data = {
id: id
}
getW(data)
在 jquery.min 之後都是我寫的 js function 或是變數宣告
很怪的是
有機率會出現 「Uncaught ReferenceError: getW is not defined
」的錯誤!
但重整之後就好了
十次可能會發生三次這種事
我是分了很多的檔案(但是都無關緊要)
有些檔案會有變數宣告
然後讓下面(其他js檔) function 使用
又或是上面會先宣告 function
在下面(其他js檔)使用該 function
我確定的一點是「都是有宣告」才會使用,所以不該有 defined 的問題!
出現這種事情的機率十次有三次左右
我不是很懂是怎麼回事⋯⋯
這樣確實滿傷腦筋的
補充
不過我重整是直接清 cache 方式⋯⋯ (谷歌瀏覽器)不曉得會不會是這個問題QQ
本身 ajax 打的後端路徑沒有問題,也絕對會回東西
只是被webserver快取起來而已,你可以簡單的從瀏覽器端按下ctrl + F5強制更新快取,就能解決問題
或是你在script src="xxxxxxx.js後面加上隨機值,如果你用的是php....
<?php
$rnd = rand(1,1000000);
?>
<script type="text/javascript" src="main.js?q=<?php echo $rnd;?>"></script>
也可強制伺服器每次都重新載入,但不用更改server上的全局設定值
我大膽的假設,你出問題的變數。一定跟ajax有關。
但這只是假設而已。請問犯什麼法呢?