zoukankan      html  css  js  c++  java
  • Jquery $.post $.get“异步”请求导致获取不到返回值

    今天做项目时,写了一个数据库查询后返回的函数

    function getpname(PARENT_ID){
        var pname='';
        $.post("/KEJITEMP/DealWithBT",{
            flag:"getpname",
            ID:PARENT_ID,
        },function(data){
            data=JSON.parse(data);
            pname = data.CNNAME;
            });
        return pname;
    }

    在调用时获取到的pname返回值一直为undefined,然后想到$.post发得请求为“异步”请求,所以pname没有被赋值就被返回了,经过alert验证function对pname赋值确实在return之后。

    因此上面的写法显然是错误的,需要将发送方式改为同步:

    var pname='';//设置全局变量
        $.ajaxSettings.async=false;  //插入这个代码用ajax的“同步方式”调用一般处理程序
        $.post("/KEJITEMP/DealWithBT",{
    //另一种写法时:
    $.ajax({ url:
    "", async: false,//改为同步方式 type: "POST",
  • 相关阅读:
    每周总结
    5月2日学习日志
    5月1日学习日志
    4月30日学习日志
    4月29日学习日志
    4月28日学习日志
    4月27日学习日志
    每周总结
    vue滚动插件BetterScroll
    vue 获取页面高度
  • 原文地址:https://www.cnblogs.com/lixv2018/p/13732884.html
Copyright © 2011-2022 走看看