【发布时间】:2015-02-07 12:24:23
【问题描述】:
会话上传进度正常,但是当我将 from post url 从 pros.php 更改为 server_ip/pros.php 并更改 XMLHttpRequest JavaScript get url from
t.open("GET","progress.php",false);
到
t.open("GET","server_ip/progress.php",false);
它不起作用,所以我添加了progress.php header("Access-Control-Allow-Origin: *");,它仍然不起作用
progress.php:
<?php
error_reporting(0);
header("Access-Control-Allow-Origin: *");
session_start();
$key = ini_get("session.upload_progress.prefix") . 'progressperc';
if(isset($_SESSION[$key]['bytes_processed'])
AND $_SESSION[$key]['bytes_processed'] != 0) {
$file_uploaded = true;
echo round($_SESSION[$key]['bytes_processed'] / $_SESSION[$key]['content_length'] * 100);
} elseif ($file_uploaded === true
AND $_SESSION[$key]['bytes_processed'] == 0) {
echo 100;
}
?>
这是 index.php 中用于获取进度的 js 代码
<script>window.setInterval(function(){var t;if(window.XMLHttpRequest){t=new XMLHttpRequest}else{t=new ActiveXObject("Microsoft.XMLHTTP")}t.onreadystatechange=function(){if(t.readyState==4&&t.status==200){if(t.responseText=="100"){document.getElementById("progress").style.width=t.responseText+"%"document.getElementById("progress").innerHTML=t.responseText+"%";clearInterval()}if(t.responseText!=""&&t.responseText!="100"){document.getElementById("progress").style.width=t.responseText+"%";document.getElementById("progress").innerHTML=t.responseText+"%"}}};t.open("GET","progress.php",false);t.send(null)},5e3)</script>
【问题讨论】:
-
这段代码是 PHP 还是 JS 还是 JQUERY?正确标记您的问题并在此处放置更多代码
-
我认为 php 有问题
-
如果是这样,PHP 中的代码在哪里? :-)
-
这是progress.php代码
-
如果我没记错的话,你之前有
.ajax(或.post(吗?你写了it is not work——这到底是什么意思?你有任何错误信息吗?你的标准是什么it is not work你的问题不清楚
标签: javascript php session upload