Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript windowwon';AJAX中的t弹出窗口_Javascript_Php_Ajax - Fatal编程技术网

Javascript windowwon';AJAX中的t弹出窗口

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

我遵循了本教程:

我使用xampp来测试它

问题是窗口不会在那里弹出

这是我的代码:

HTML:

<!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个代表。我总是忘记这些限制:)没关系,我只是让你知道,因此,您知道将来要做什么(当您有足够的重复次数时!)