2013-04-23 139 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看到