Javascript php会话跨域上传进度堆栈

Javascript php会话跨域上传进度堆栈,javascript,php,session,upload,Javascript,Php,Session,Upload,会话上传进度很好,但是当我将post url从pros.php更改为server_ip/pros.php并更改XMLHttpRequest JavaScript get url from时 t.open("GET","progress.php",false); 到 它不起作用,所以我添加了in progress.php headerAccess控件Allow Origin:*;但它仍然不起作用 progress.php: <?php error_reporting(0); hea

会话上传进度很好,但是当我将post url从pros.php更改为server_ip/pros.php并更改XMLHttpRequest JavaScript get url from时

t.open("GET","progress.php",false);

它不起作用,所以我添加了in progress.php headerAccess控件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>

不同浏览器之间的访问控制允许来源不同。大多数情况下,它仅在从一个域向另一个域提交表单时使用

默认情况下,禁止跨域http请求,但您可以执行跨域json请求。您可以使progress.php以json格式返回,标题为:

content-type:application/json.

如果您只想显示上传进度值,还可以尝试使用JS hack,向html添加新标记,脚本将运行,或使进度图像更新img src。这两种语言都100%用于所有Broswer。

这段代码是用PHP还是JS或JQUERY编写的?正确标记您的问题并在此处放置更多代码我认为问题i phpif那么,PHP中的代码在哪里-这是progress.php代码,如果我没有弄错的话,您以前有.ajax或.post吗?你写的不是工作-它到底是什么意思?你有任何错误信息吗?你的标准是什么?你的问题中不清楚我的问题是seesion id中的问题吗?我不擅长json,我只需要进度值,因为我使用bootstrap和js显示img
content-type:application/json.