2013-04-23 98 views
0

我诚实地做了一切可能的搜索,看了很多教程,但仍然不能使它工作。这个错误是javascript和php之间的联系。奇怪的一点是,如果在页面处于重新加载过程中单击提交按钮,连接就会成功并且脚本可以工作。php不发送数据到javascript

请帮忙。

我调用了两个变量,$ 1和$ l2从php require-once在页面上做了一些工作,然后我用它们在Java脚本中向PHPfile发送onclick提交按钮;

按钮:

<input class ="button vote" type = "submit" onClick= "javascript: somefunction();" value = "do it" /> 

功能:在同一页上

function somefunction(){ 

var hr = new XMLHttpRequest(); 

var url = "index.php"; 
var wn = "<?php echo $l1 ?>"; 
var ls = "<?php echo $l2 ?>"; 
var vars = "wn="+wn+"&ls="+ls; 
hr.open("POST", url, true); 

hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

hr.onreadystatechange = function() { 
    if(hr.readyState == 4 && hr.status == 200) { 
    var return_data = hr.responseText; 
    document.getElementById("status").innerHTML = return_data; 
    } 
    } 

    hr.send(vars); // execute the request 
    document.getElementById("status").innerHTML = "processing..."; 
} 

PHP受体:

<?php if (isset ($_POST ["wn"])){ 
$wnn = $_POST['wn']; 
$lss = $_POST['ls'];... 
+0

那么究竟是什么问题呢? – karmafunk 2013-04-23 10:50:39

回答

0

试试这个:

var wn = document.getElementById("wn").value; 
var ls = document.getElementById("ls").value; 
0

我认为你正在计算这些或者是否正确,或者从$ _SESSION变量也许?当你在完成的页面上查看源代码时,检查变量是否存在,也许是在你分配php内的变量之后。

<?PHP 
    if (isset($l1) && !empty($l1)) { 
     echo "L1 is $l1"; 
    } else { 
     echo "L1 wasnt set"; 
    } 
?> 

然后确保值向上顶相匹配,你在你的JavaScript看到