Javascript windowwon';AJAX中的t弹出窗口
我遵循了本教程: 我使用xampp来测试它 问题是窗口不会在那里弹出 这是我的代码: HTML:Javascript windowwon';AJAX中的t弹出窗口,javascript,php,ajax,Javascript,Php,Ajax,我遵循了本教程: 我使用xampp来测试它 问题是窗口不会在那里弹出 这是我的代码: HTML: <!doctype html> <html> <head> <title>Html5 Drawing App!</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body style='margin
<!doctype html>
<html>
<head>
<title>Html5 Drawing App!</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body style='margin: 0'>
<div id="toolbar">
<div id="rad">
Radius <span id="radval">10</span>
<div id="decRad" class="radcontrol">-</div>
<div id="incRad" class="radcontrol">+</div>
</div>
<div id="colors">
</div>
<div id="save">
Save
</div>
</div>
<canvas id="canvas" style="display: block;">
Sorry, Your Browser Is Unsupported. Switch To Another Browser
</canvas>
<script src="main.js"></script>
<script src="radius.js"></script>
<script src="colors.js"></script>
<script src="save.js"></script>
</body>
</html>
var saveButton = document.getElementById('save');
saveButton.addEventListener('click', saveImage);
function saveImage(){
var data = canvas.toDataURL();
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if(request.readyState == 4 && request.status = 200){
//do our stuff
var response = request.responseText;
window.open(response, '_blank', 'location=0, menubar=0');
}
}
request.open('POST', 'save.php', true);
request.setRequestHeader('Content-type', 'application/x-ww-form-urlencoded');
request.send('img='+data);
//window.open(data, '_blank', 'location=0, menubar=0');
}
<?php
$data = $_POST_['img'];
$data = str_replace('data:image/png;base64', '', $data);
$data = str_replace(' ', '+', $data);
$img = base64_decode($data);
$path = 'images/' . uniqid() . '.png';
if(file_put_contents($path, $img)){
print $path;
}else{
header("HTTP/1.1 500 Internal Server Error");
}
?>
save.php:
<!doctype html>
<html>
<head>
<title>Html5 Drawing App!</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body style='margin: 0'>
<div id="toolbar">
<div id="rad">
Radius <span id="radval">10</span>
<div id="decRad" class="radcontrol">-</div>
<div id="incRad" class="radcontrol">+</div>
</div>
<div id="colors">
</div>
<div id="save">
Save
</div>
</div>
<canvas id="canvas" style="display: block;">
Sorry, Your Browser Is Unsupported. Switch To Another Browser
</canvas>
<script src="main.js"></script>
<script src="radius.js"></script>
<script src="colors.js"></script>
<script src="save.js"></script>
</body>
</html>
var saveButton = document.getElementById('save');
saveButton.addEventListener('click', saveImage);
function saveImage(){
var data = canvas.toDataURL();
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if(request.readyState == 4 && request.status = 200){
//do our stuff
var response = request.responseText;
window.open(response, '_blank', 'location=0, menubar=0');
}
}
request.open('POST', 'save.php', true);
request.setRequestHeader('Content-type', 'application/x-ww-form-urlencoded');
request.send('img='+data);
//window.open(data, '_blank', 'location=0, menubar=0');
}
<?php
$data = $_POST_['img'];
$data = str_replace('data:image/png;base64', '', $data);
$data = str_replace(' ', '+', $data);
$img = base64_decode($data);
$path = 'images/' . uniqid() . '.png';
if(file_put_contents($path, $img)){
print $path;
}else{
header("HTTP/1.1 500 Internal Server Error");
}
?>
请帮我修一下。谢谢您在这行中省略了一个相等的sgn:
if(request.readyState == 4 && request.status = 200){
^ should be ==
请尝试修复以下错误:
if(request.readyState == 4 && request.status = 200){
Λ
|___ ==
request.setRequestHeader('Content-type', 'application/x-ww-form-urlencoded');
Λ
|___ www
$data = $_POST_['img'];
Λ
|___ $_POST[...
哦,我有吗?显然是我干的。。谢谢,现在它给了我这个错误:POST 500(内部服务器错误)500服务器错误是服务器端代码的问题。那是另一个问题。查看服务器的错误日志。我查看了php_error.log文件,上面写着:[28-Oct-2013 05:19:11 Europe/Stockholm]php注意:未定义变量:在第3行的C:\xampp\htdocs\draw\save.php中发布我找到了它。我失败了。。它转到$POST_uu而不是$POST。您解决问题了吗?你试过我下面的建议了吗?是的,这解决了问题。谢谢。这也是习惯性的对被接受的答案进行投票,因为(根据定义)你认为这是一个成功解决手头问题的好答案:D只是说…我不能对答案进行投票,因为我在20个需要的答案中只得到了3个代表。我总是忘记这些限制:)没关系,我只是让你知道,因此,您知道将来要做什么(当您有足够的重复次数时!)