php没有向javascript发送数据

时间:2013-04-23 10:36:46

标签: php javascript ajax connect

我诚实地做了所有可能的搜索,看了很多教程,但仍然无法使它工作。错误是javascript和php之间的联系。奇怪的是,当页面处于重新加载过程中时,如果我单击“提交”按钮,则连接成功并且脚本可以正常工作。

请帮助。

我从php require-once中调用了两个变量$ l1和$ l2,它们在页面上做了一些工作,然后我在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'];...

2 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分:0)

我认为你可以直接计算这些,也可以从$ _SESSION变量计算?当你在完成的页面上查看源代码时,检查变量是否存在,也许就在你在php中分配变量之后。

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

然后确保最高值与您在javascript中看到的值匹配