我的PHP代码立即运行 mouseout 事件。
我情况:
$("#canvas").mouseout(function() {
isDrawing = false;
var sourceCanvas = ctxPaint.getImageData(0, 0, cw, ch);
ctxPaint.clearRect(0, 0, cw, ch);
ctxPaint.putImageData(sourceCanvas, 0, 0);
var data = canvasPaint.toDataURL('image/gif');
var ajax = new XMLHttpRequest();
ajax.open("POST", 'upload_data.php', false);
ajax.setRequestHeader('Content-Type', 'application/upload');
ajax.send(data);
<?php
m = new Image("png");
$im->mergeImages("images/urlL", "png", "name", "png", "600", "500", "600", "300", "finish");
?>
});
也许有人有想法?
答案 0 :(得分:2)
Php仅在加载页面时执行。它是服务器端语言。 JS是一种客户端语言。 如果你想在JS中执行php代码,唯一的方法是在ajax中调用一个php页面,它将包含你需要执行的php代码。
答案 1 :(得分:1)
你无法在JavaScript中执行PHP代码,它没有任何意义。
您的Javascript在浏览器中执行,而PHP scipts在服务器端运行。您应该在服务器上实现upload_data.php
图像处理。
答案 2 :(得分:1)
您的代码在浏览器中执行。出于安全原因,浏览器受到限制,并且不执行PHP之类的外部解释器。 JavaScript是常见浏览器的内置。
JavaScript可以作为服务器端脚本执行。在那里你可以执行PHP解释器。但是,服务器端代码不能由 mouseout 等客户端事件驱动。这不是你想要的。
您必须将AJAX请求发送到PHP站点,在服务器上运行PHP并以适合在客户端脚本中处理的格式提交生成的数据,例如: HTML,XML,JSON。