我有2個JS腳本:分享同一個變量 - 一個具有.ready函數和其他不
<script type="text/javascript">
function capture(){
var canvas = document.getElementById('canvas');
var video = document.getElementById('video');
canvas.getContext('2d').drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
var img = canvas.toDataURL("image/png");
alert(img);
}
</script>
<script type="text/javascript">
$(document).ready(function() {
$(".post").click(function() { alert(img);
var level = document.getElementById('level');
var language = document.getElementById('language');
var textac = document.getElementById('textac');
var decribac = document.getElementById('decribac');
$.ajax({
type: "POST",
url: "love.php",
data: {img: img, language: language, level: level, decribac:decribac, textac: textac },
cache: false,
success: function(data){
}});
window.location.replace("love.php");
});
});
</script>
他們所做的就是在點擊「捕獲」第一個做的縮略圖視頻並將其放入畫布並保存var img。另一個點擊另一個按鈕'發佈'通過ajax發佈一切,包括圖像base64編碼的字符串。我的問題是,當我嘗試點擊「發佈」控制檯loggs出
- 404 Uncaught ReferenceError: img is not defined
,我不知道爲什麼,如果我在第一個腳本提醒它,它被correctelly警報,但是第二個完全不認識它。如果我把捕獲finction在
$(document).ready(function(){..});
然後它doenst工作和控制檯說 - 捕獲函數是未定義的。這也很奇怪。如果我不把第二個按鈕處理程序,它不會做任何事情點擊。所以我需要把它們放在他們自己的腳本中 - 一個使用.ready功能,另一個不使用。現在我不能將第二個腳本的img var通過ajax發送給php腳本。幫幫我。
什麼是'img'?它必須是'全局'或'作爲參數傳遞'才能被其他'方法/函數'訪問... – Rayon
我需要在分解按鈕'.post'中使用它甚至處理程序來通過AJAX傳遞它 –