채택완료
ajax 초보자의 질문입니다 ㅜㅜㅜ
될 것같은데 안되서 어떠한 부분에 제가 실수를 했는지 고수분들께 여쭤보고싶습니다 ㅜㅜ
canvas를 이용하여 작업한 상태의 결과물을 이미지로 변경을 한 뒤 출력되는 코드양이가 상당하여
blob라는 변수를 이용하여 간단하게 한 상태입니다. 그래서 ajax를 이용하여 save라는 버튼을 클릭 시
save_upload라는 페이지로 이동을 할려고 진행중인데 클릭 시 ajax가 성공적으로 되어 alert가 출력이 된 후 다음 페이지로 링크변경이 되는데 다음 페이지에서 데이터 값이 받아 지지를 않습니다 ㅜㅜ
혹시나 form안에 있는 input버튼을 사용하는 중에 class나 id값을 이용하여 스크립트로 진행을 하여서
데이터 값이 안들어가는지.. 아니면 데이터를 받는 페이지에 사용한 데이터받는소스를 잘못적었는지
받아오는 데이터값이 출력이 안되는데 ... 어떠한 문제때문에 그런지 도움 좀 부탁드리겠습니다 ㅜㅜ
-------------------------------------------------------------기본 페이지 -------------------------------------
Copy
<form method="post" style="display: inline;">
<input type="button" class="ajaxSave" id="ajaxSave" value="save" />
</form>
<script type="text/javascript">
$('.merge').click(function(e) {
var canvas = document.querySelector('canvas');
var context = canvas.getContext("2d");
var image = new Image();
image.src = canvas.toDataURL();
image.onload = function(){
context.drawImage(document.getElementsByTagName('canvas')[0], 0, 0, v.videoWidth, v.videoHeight);
context.drawImage(document.getElementsByTagName('canvas')[1], 0, 0, v.videoWidth, v.videoHeight);
}
var data = canvas.toDataURL("image/png");
setTimeout(function(){ $('.save').click(); }, 1000)
});
$('.save').click(function(e) {
var canvas = document.querySelector('canvas');
var context = canvas.getContext("2d");
var data = canvas.toDataURL("image/png");
var imgData = atob(data.split(',')[1]);
var len = imgData.length;
var buf = new ArrayBuffer(len);
var view = new Uint8Array(buf);
var blob, i;
for(i = 0; i < len; i++){
view[i] = imgData.charCodeAt(i) & 0xff;
}
blob = new Blob([view], {type: 'image/png'});
console.log(data);
console.log(blob);
var url = URL.createObjectURL(blob);
console.log(url);
var a = document.createElement('a');
a.style = "display:none";
a.href = url;
$.ajax({
type: "POST",
url: "save_upload.php",
data : data,
success: function(msg){
alert("업로드 성공!");
window.location.href="review3_upload.php";
}
});
});
</script type="text/javascript">
-------------------------------------------------------------데이터 페이지 -------------------------------------
Copy
<?php
$data = $_POST["data"];
echo $data;
?>
답변 3개 / 댓글 1개
채택된 답변
+20 포인트
답변을 작성하려면 로그인이 필요합니다.