• 解决ajax无法给js全局变量赋值的问题


    解决ajax无法给js全局变量赋值的问题


    http://blog.csdn.net/qq_26222859/article/details/51543433

     

    ajax中是无法给js中的全局变量赋值的,因为ajax默认是异步请求(当要赋值时,此时的值没有拿到,所以赋值不成功)。例如:

    1. function test(){
    2.   var result=0;
    3.   $.ajax({  
    4. type: "POST",  
    5. url: "ajax/checkfor1.php?action=reg_checkEmail",          
    6. data: {email:email},   
    7. dataType: 'text',     
    8. success: function(data){                                                      
    9. results=data;  
    10. },  
    11. error: function() {     
    12.                alert("异常!");    
    13.       }    
    14. });
    15. }

     

    执行时会发现赋不进去值

    解决办法1:将ajax请求设置为同步请求

    1. function test(){
    2.   var result=0;
    3.   $.ajax({  
    4. type: "POST",  
    5. url: "ajax/checkfor1.php?action=reg_checkEmail",          
    6. data: {email:email},   
    7. dataType: 'text',     
    8.       async: false, //设置为同步请求
    9. success: function(data){                                                      
    10. results=data;  
    11. },  
    12. error: function() {     
    13.                alert("异常!");    
    14.       }    
    15. });
    16. }

    解决办法2:不使用js全局变量存数据而是用隐藏的html标签存数据

    1. function test(){
    2.   var result=0;
    3.   $.ajax({  
    4. type: "POST",  
    5. url: "ajax/checkfor1.php?action=reg_checkEmail",          
    6. data: {email:email},   
    7. dataType: 'text',     
    8. success: function(data){                                                      
    9.               $('#datastore').append('<div data='+data+'></div>');//使用一个div标签,定义一个自定义属性data来存储数据
    10. },  
    11. error: function() {     
    12.                alert("异常!");    
    13.       }    
    14. });
    15. }

     

  • 相关阅读:
    线程的实现方式
    实现一个拷贝文件的工具类,要使用字符流还是字节流
    String&&StringBuilder&&StringBuffer
    面向对象的特征
    索引的选择
    TCP之Nagle算法&&延迟ACK
    通用套接字选项和TCP套接字选项
    TCP之非阻塞connect和accept
    TCP之种种连接异常
    TCP之listen&backlog
  • 原文地址:https://www.cnblogs.com/zealousness/p/8757950.html
Copyright © 2020-2023  润新知