碰见个问题,话不多说直接上题
var major_name = $('#major_name').val();
var rtnvalue="";
if(major_name != ""){
$.post("<?php echo site_url(ADMIN_ROOT.'exam/major/ck_major');?>",{
ck_major_name : major_name,
},function(data){
if(data == "ok")
{
$("#a_artist").hide();
$("#b_artist").show();
$("#c_artist").hide();
}
else
{
$("#a_artist").show();
$("#b_artist").hide();
$("#c_artist").hide();
rtnvalue=true;
alert(rtnvalue+"cao ");
}
}
);
}
else{
$("#a_artist").hide();
$("#b_artist").hide();
$("#c_artist").show();
}
alert(rtnvalue);
return rtnvalue; 比如这样吧,不管rtnvalue里面怎么变,外面都没值的?按道理不是它属于里面那个函数的范围内吗,也应该有效的啊。求详解
我自己刚才 换成PHP也写了边,依然是这样。作用域不是我想象的那样吗。求详解
var major_name = $('#major_name').val();
var rtnvalue="";
if(major_name != ""){
$.post("<?php echo site_url(ADMIN_ROOT.'exam/major/ck_major');?>",{
ck_major_name : major_name,
},function(data){
if(data == "ok")
{
$("#a_artist").hide();
$("#b_artist").show();
$("#c_artist").hide();
}
else
{
$("#a_artist").show();
$("#b_artist").hide();
$("#c_artist").hide();
rtnvalue=true;
alert(rtnvalue+"cao ");
}
}
);
}
else{
$("#a_artist").hide();
$("#b_artist").hide();
$("#c_artist").show();
}
alert(rtnvalue);
return rtnvalue; 比如这样吧,不管rtnvalue里面怎么变,外面都没值的?按道理不是它属于里面那个函数的范围内吗,也应该有效的啊。求详解
我自己刚才 换成PHP也写了边,依然是这样。作用域不是我想象的那样吗。求详解
return rtnvalue;这不是在函数外面么?有这么用的么?
{var major_name = $('#major_name').val();
var rtnvalue=false;
if(major_name != ""){
$.post("<?php echo site_url(ADMIN_ROOT.'exam/major/ck_major');?>",{
ck_major_name : major_name,
},function(data){
if(data == "ok")
{
$("#a_artist").hide();
$("#b_artist").show();
$("#c_artist").hide();
}
else
{
$("#a_artist").show();
$("#b_artist").hide();
$("#c_artist").hide();
rtnvalue=true;
}
}
);
}
else{
$("#a_artist").hide();
$("#b_artist").hide();
$("#c_artist").show();
}
alert(rtnvalue);
return rtnvalue;
}这是完整的,不管我在2个判断语句里面让它都变true。出来还是没反应
<script language="javascript">
var major_name = $('#major_name').val();
var rtnvalue="";
if(major_name != ""){
$.post("url",{""},function(data){
if(data == "ok"){
$("#a_artist").hide();
$("#b_artist").show();
$("#c_artist").hide();
}else{
$("#a_artist").show();
$("#b_artist").hide();
$("#c_artist").hide();
rtnvalue=true;
alert(rtnvalue+"cao");
}
});
}else{
$("#a_artist").hide();
$("#b_artist").hide();
$("#c_artist").show();
}
alert(rtnvalue);//ajax异步请求,你这里shu的出来才怪了
return rtnvalue;//你看看return 在哪里,是在函数的外面啊,return要用在表达式中,你直接return没有任何意义
</script>
ck_major_name 要用双引号引住,它是参数名。
<?php
if($_GET){
echo $_GET['text'];exit;
}else if($_POST){
echo $_POST['text'];exit;
}
?><input type="text" id="text" value="我是中国人">
<input type="button" name="button" value="myAjax" onclick="post_test()"><script language="javascript">
var response_text = "";
var request;
function createxmlHttpRequest(){
if(!request){
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
}function post_test(){
createxmlHttpRequest();
var url = "test.php";
var send = "text=" + encodeURI(document.getElementById("text").value);
request.open("post", url, false);//异步同步 同步异步
request.onreadystatechange = callback;
request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
request.send(send);
alert(response_text);//设置上面的 同/异 步看看这块的区别
}function callback(){
if (request.readyState == 4){
if (request.status == 200){
response_text = request.responseText;
}else if(request.status == 404){
alert("该路径未找到");
}else if(request.status == 403){
alert("禁止访问");
}else{
alert("status is " + request.status);
}
}
}</script>