2014-07-11 2 views
0

나는 처리를 위해 서버에 캔버스 (함께 aprox 350킬로바이트를.) 전송 다음 아약스 코드를 가지고 :XMLHttpRequest를 서버 응답을 중지

html2canvas(document.body, { 
onrendered: function(canvas) { 
    var canvasData = canvas.toDataURL("image/png"); 
      var ajax = new XMLHttpRequest(); 
      ajax.open("POST",'www.domain.com/process.php',true); 
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
      ajax.send("imgData="+canvasData); 
    } 
}); 

문제는 AJAX 호출이 실행될 때 우리가 할 수있는 그 www.domain.com 서버의 다른 페이지에 액세스하지 마십시오. 호출자가 완료 될 때까지 대기합니다.

내가 여기서 잘못하고있는 것입니까, 아니면 수행해야 할 작업에 적합하지 않습니까?

감사합니다.

+0

실제로 "www"를 사용하여 URL을 시작할 수 있습니까? – dandavis

+0

다른 브라우저에서 페이지가 멈 추면 서버 JS가 아니라 클라이언트 JS가 들리는 것처럼 들립니다. 당신은 node.js가 업로드를 잡아내는 것을 고려하고 싶을 것입니다 : 그것은 한 번에 두 가지 이상의 것을 처리 할 수 ​​있습니다 ... – dandavis

답변

0

ajax.open API에 대한 적절한 인용 부호가 누락되었습니다.

html2canvas(document.body, { 
onrendered: function(canvas) { 
    var canvasData = canvas.toDataURL("image/png"); 
      var ajax = new XMLHttpRequest(); 
      ajax.open("POST",'www.domain.com/process.php',true); 
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
      ajax.send("imgData="+canvasData); 
    } 
}); 
+0

네, 맞습니다. 여기에 코드를 복사 할 때 오타가되었습니다. 여전히 초기 질문은 열려 있습니다 ... – Luciano