php函数中未定义javascript值
这可能有一些我不知道的很明显的答案,但我就是想不出来。PHP中的所有搜索函数和查询都可以工作。唯一不起作用的是数据没有在文本区域中正确显示。下面是代码php函数中未定义javascript值,javascript,ajax,Javascript,Ajax,这可能有一些我不知道的很明显的答案,但我就是想不出来。PHP中的所有搜索函数和查询都可以工作。唯一不起作用的是数据没有在文本区域中正确显示。下面是代码 document.getElementById("translated").innerHTML = xmlhttp.open("GET","ajax-result.php?result="+num,true); 在innerHTML部分之后,我添加的任何内容(从文本到html)都会进入正确的位置,但是现在上面的代码说它是未定义的xmlhttp.
document.getElementById("translated").innerHTML = xmlhttp.open("GET","ajax-result.php?result="+num,true);
在
innerHTML
部分之后,我添加的任何内容(从文本到html)都会进入正确的位置,但是现在上面的代码说它是未定义的xmlhttp.open
不会返回任何内容-这就是为什么会得到“未定义”的原因。阅读,特别注意
xmlhttp.onreadystatechange
part
更方便的方法是使用jqueryajax
方法: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。