php函数中未定义javascript值

php函数中未定义javascript值,javascript,ajax,Javascript,Ajax,这可能有一些我不知道的很明显的答案,但我就是想不出来。PHP中的所有搜索函数和查询都可以工作。唯一不起作用的是数据没有在文本区域中正确显示。下面是代码 document.getElementById("translated").innerHTML = xmlhttp.open("GET","ajax-result.php?result="+num,true); 在innerHTML部分之后,我添加的任何内容(从文本到html)都会进入正确的位置,但是现在上面的代码说它是未定义的xmlhttp.

这可能有一些我不知道的很明显的答案,但我就是想不出来。PHP中的所有搜索函数和查询都可以工作。唯一不起作用的是数据没有在文本区域中正确显示。下面是代码

document.getElementById("translated").innerHTML = xmlhttp.open("GET","ajax-result.php?result="+num,true);

innerHTML
部分之后,我添加的任何内容(从文本到html)都会进入正确的位置,但是现在上面的代码说它是
未定义的
xmlhttp.open
不会返回任何内容-这就是为什么会得到“未定义”的原因。阅读,特别注意
xmlhttp.onreadystatechange
part


更方便的方法是使用jquery
ajax
方法:

ajax不是这样工作的。您应该有一个在服务器响应时调用的回调函数

差不多

if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
}
// setup callback function
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
        if(xmlhttp.responseText == 1){
            document.getElementById("translated").innerHTML = xmlhttp.responseText;
        }
    }
}
xmlhttp.open("GET",'your request to sever',true);

如果您真的想省掉一些头痛,我会让您熟悉jQuery

下面是一个完整的工作示例,它显示了您正试图完成的任务

输入和按钮的实现只是为了模拟指定值和调用函数的方法

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    </head>
    <body>
        <script type="text/javascript">
            function runAjax(num) {
                $.ajax({
                    'url': 'ajax-result.php',
                    'type': 'GET', // Can also be 'POST'
                    'data': {
                        'result': num
                    },
                    'success': function(result) {
                        $('#translated').html(result);
                        alert('success!');
                    },
                    'error': function(xhr, status, exception) {
                        alert('failed with status code: ' + status);
                    }
                });
            }

            $(document).ready(function() {
                $('button').click(function() {
                    var $input = $('input');
                    var num = $input.val();
                    runAjax(num);
                });
            });
        </script>

        <input type="text" name="num" value="123" />
        <button type="button">Click Me!</button>
    </body>
</html>

函数runAjax(num){
$.ajax({
'url':'ajax result.php',
'type':'GET',//也可以是'POST'
“数据”:{
“结果”:num
},
“成功”:函数(结果){
$('#translated').html(结果);
警惕(“成功!”);
},
“错误”:函数(xhr、状态、异常){
警报(“失败,状态代码:”+状态);
}
});
}
$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
变量$input=$('input');
var num=$input.val();
runAjax(num);
});
});
点击我!

…ajax不是这样工作的。@函数从php查询返回正确的值。使用
xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;}}xmlhttp.open(“GET”,“ajax_info.txt”,true);xmlhttp.send()并且它工作得完美无缺。谢谢,谢谢你。我一直想深入研究jQuery。