XMLHttpRequest完成错误后重定向
Redirect once XMLHttpRequest Complete Error
我使用的是kinetijs库,我有一个脚本,它使用toDataURL
方法将舞台保存为图像,并使用XMLHttpReuest
将其上传到服务器上。在将图像保存到服务器上时,一切都如预期,但我无法在完成后重定向或更改页面。
我用于生成图像的javascript/kineticjs代码是:
function save() {
stage.toDataURL({
callback: function(dataUrl) {
var ajax = new XMLHttpRequest();
ajax.open("POST",'upload_screenshot.php?newname=<?php echo $newname;?>',false);
ajax.setRequestHeader('Content-Type', 'application/upload');
ajax.send(dataUrl);
}
});
}
我的upload_screenshot.php代码是:
<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){
$imageData=$GLOBALS['HTTP_RAW_POST_DATA'];
$newname = $_GET['newname'];
$imagefile = 'final_images/'.$newname.'.png';
$filteredData=substr($imageData, strpos($imageData, ",")+1);
$unencodedData=base64_decode($filteredData);
$fp = fopen($imagefile, 'wb');
fwrite($fp, $unencodedData);
fclose($fp);
header('Location: http://www.example.com');
}
?>
因此,图像保存在服务器上,但我在chrome javascript控制台中收到以下错误:
Uncaught Error: NetworkError: DOM Exception 19
这是什么意思?
如果我将打开的调用从false(同步)更改为
ajax.open("POST",'upload_screenshot.php?newname=<?php echo $newname;?>',false);
至真(异步):
ajax.open("POST",'upload_screenshot.php?newname=<?php echo $newname;?>',true);
我现在将文件保存到服务器上,没有出现错误,但再次没有重定向到example.com
下面是一个如何对ajax响应执行回调函数的示例。
此外,我不确定如何或在哪里执行这个javascript,但如果它在外部js文件中,则不会执行<?php echo $newname; ?>
。您需要找到一种更聪明的方式将这些信息传递给javascript函数。
您不能在POST请求中指定查询字符串,这必须更改为以下的代码
ajax.open("POST",'upload_screenshot.php',true);
ajax.setRequestHeader('Content-Type', 'application/upload');
ajax.send("newname='<?php echo $newname;?>'");
相关文章:
- 收到错误时如何防止在提交()上重定向
- HTML重定向到错误的位置
- 如果错误,如何防止页面重定向?(HTML/JavaScript)
- 成功时 PHP 页面重定向,否则显示错误
- 将 Javascript 语法错误和控制台.log重定向到其他地方
- 如何删除未定义的对象错误并根据位置重定向用户
- 模态中的 Django 形式:动态重定向和处理错误
- 在模态中加载分部视图时发生错误时重定向到错误页面
- 当响应 JSON 对象数据计数为零时,AJAX 成功回调函数重定向到错误回调
- 如何在输入错误的用户名和/或密码时将用户从登录控件重定向到错误页面
- 有关动态倒计时重定向的错误
- 重定向时出现机架 CORS 错误
- Spring MVC JSP Jquery调用控制器方法上的按钮点击后重定向错误
- 协议重定向错误地将React JS应用程序路由到IE9的默认页面
- 如何更正服务器中的php重定向错误
- 提交时Javascript重定向错误
- 如何用Everyauth / Node.js重定向错误
- 如何使用firebase认证检索和处理重定向错误
- Javascript重定向-错误的重定向
- 奇怪的重定向错误