doupu7651 2011-07-30 11:04
浏览 44
已采纳

json和php的ajax调用问题

i have one AJAX function getting results from php file as bellow

$.ajax({
             type: "POST",
             url: "GeteT.php",
             cache:false,
             data:"id="+ encodeURIComponent(1),
             dataType:'json',
             success: function(json)
             {
         g_foo = json.foo;
         }
        });

now i want to use the value of g_foo but i can't i try using console.log but i am facing strange problem. like

if i use function like that

       $.ajax({
         type: "POST",
         url: "GeteT.php",
         cache:false,
         data:"id="+ encodeURIComponent(1),
         dataType:'json',
         success: function(json)
         {
     g_foo = json.foo;
        console.log(g_foo);
     }
    });

now i can see the value return from php file

if now i use function like that

         $.ajax({
         type: "POST",
         url: "GeteT.php",
         cache:false,
         data:"id="+ encodeURIComponent(1),
         dataType:'json',
         success: function(json)
         {
     g_foo = json.foo;

     }
    });
        console.log(g_foo);

now i got error undefined g_foo;

thanks

  • 写回答

2条回答 默认 最新

  • dongtao4787 2011-07-30 11:08
    关注

    As ajax is asynchronous, there's no way of making sure that g_foo is available as soon as you call the $.ajax() request, hence it's not available outside that callback.

    You could however, specify async:false to that .ajax() call, but it will most likely block the browser, attempting to wait for the request, something I don't think you want to happen.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀