Ajax中async的设置问题

问题描述:Ajax传值状态是200正确的,但就是获取不到success后的返回值data,最后发现只有alert()一下才可以正确获取值。

解决方法:把Ajax里面的async设置为false问题解决

分析原因:当async设置为true时,是异步传输,即一js一边传向Server,一边紧接着就执行下面的返回值,那如果Server那边还没有处理好,这边就当然不会有输出值了,加上alert后会有是因为Server那边已处理好,设置成false就是让它执行完成后再执行html端的。


//-----------------------------------前台页面--------------------------------------------------

<html>
<head>
<title></title>
<script type="text/javascript" src="./js/jquery.js"></script>
<script>
    function fun(){
        var username = $("input[name=username]").val();
        $.ajax({
            type: "GET",
            async:false,//默认是true
            url: "php.php",
            data: { username:username, Name: "Jquery" },
            success:function(data, st){
                alert(data);
                

            }

          })
          
         // alert(username); 如果async设置为true,在这个地方必须要alert一下才可以获取success里的data值
        
    }
        

</script>

</head>
<body>
<div align="center">
<form action="" name="frm">
联系人:<input type="text" name="username" value="" /><br>
电&nbsp;&nbsp;话: <input type="text" name="phone" id="idPhone" /><br>
    <button onclick="fun();">提交</button><br>
    <div><span id="number">350</span>人报名</div>

</form>
</div>

</body>

</html>

//-------------------------------------------服务器页面---------------------------------------------------

<?php
include 'conn.php';
if(!empty($_GET['id']))
{
     echo $_GET['username'];
    
}

二当家的官网,请访问 http://www.erdangjiade.com

更多商城企业源码,尽在 http://www.erdangjiade.com/source

更多原创模板,尽在 http://www.erdangjiade.com/templates  

网页特效下载:www.erdangjiade.com/js

PHP/Mysql:www.erdangjiade.com/php
     
PHP网站开发求职QQ群 368848856

上一篇:SSH客户端中文乱码


下一篇:IIS7.5配制支持PHP脚本错误代码0x80070002