2013-02-18 104 views
1

我有这段代码,简单地将“cupom”从“0”更新为“1”,但它并不适用于Chrome,它可以工作,任何帮助/建议都是值得欢迎的。XMLHttpRequest不适用于Chrome

var req; 
function val_impressao_js(cpf) { 


if(window.XMLHttpRequest) { 
req = new XMLHttpRequest(); 
} 
else if(window.ActiveXObject) { 
req = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
var url = "val_impressao.php?cpf="+cpf; 
req.open("GET", url, true); 

req.onreadystatechange = function() 
    { 
    if(req.readyState == 4 && req.status == 200) 
     { 

      window.print(); 

     } 
    } 
req.send(null); 
} 

val_impressao.php

require "arqinc/conexao.php"; 
require "arqinc/funcoesbd.php"; 

    $cpf=$_GET['cpf']; 
    $query=mysql_query("UPDATE cadcoo SET cupom=1 WHERE cpf_cadpessoafisica=$cpf AND cupom=0"); 

顺便说一下,这部分心不是工作压力太大,它不打印的页面。

if(req.readyState == 4 && req.status == 200) 
    { 

     window.print(); 

    } 
+0

如何调用JavaScript函数? – 2013-02-18 17:00:49

+0

远离主题,使用jQuery for ajax。执行和使用更简单。有许多内置的简单功能。 – harsh8888 2013-02-18 17:01:24

+0

php'echo“Confirmar Impressão”;'这是工作,我做了一些警报来验证 – user1773801 2013-02-18 17:02:03

回答

0

我建议使用以下脚本,因为它甚至可以与IE7和所有现代浏览器一起使用。

window.onload = initAll; 
var xhr = false; 

function initAll() { 
    document.getElementById("requestXML").onclick = makeRequest; 
} 

function makeRequest() { 
    if (window.XMLHttpRequest) { 
     xhr = new XMLHttpRequest(); 
    } 
    else { 
     if (window.ActiveXObject) { 
      try { 
       xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch (e) { } 
     } 
    } 

    if (xhr) { 
     xhr.onreadystatechange = showContents; 
     xhr.open("GET", "us-states.xml", true); 
     xhr.send(null); 
    } 
    else { 
     document.getElementById("updateArea").innerHTML = "Sorry, but I couldn't create an XMLHttpRequest"; 
    } 
    return false; 
} 

function showContents() { 
    if (xhr.readyState == 4) { 
     if (xhr.status == 200) { 
      var outMsg = xhr.responseText; 
     } 
     else { 
      var outMsg = "There was a problem with the request " + xhr.status; 
     } 
     document.getElementById("updateArea").innerHTML = outMsg; 
    } 
} 
+0

这是返回onreadystatechange 0给我 – user1773801 2013-02-18 17:08:35

+0

这段代码没有错,它来自Lynda.com教程的练习文件,它的工作原理像一个魅力。这可能是由于您的服务器/浏览器故障 – 2013-02-18 17:10:09

+0

可能是由于本地主机? – user1773801 2013-02-18 17:12:13

相关问题