• 技术文章 >后端开发 >PHP问题

    ajax获取不到php返回值

    angryTomangryTom2019-10-17 09:20:52原创1795

    ajax获取不到php返回值的解决办法:

    1、首先检查ajax是否是异步,异步不可以直接return返回结果。

    /*常见错误示例  直接在 ajax 里面return 结果*/
    
     function demo(){
         $.ajax({
             url : 'test.do',
             type : "post",
             data : {},
             async : false,
             success : function(data) {             return 2;
             }
         });
     }/* 结果  无返回 */

    2、然后确保ajax不要在嵌套函数中返回数据,应该由调用ajax的函数进行返回数据。

    /**
     * (1)同步调用 (2)且在ajax对全局变量进行设值 (3)ajax函数外将变量return
     * 结果:返回 2。成功获取返回值
     * 成功原因:先执行result = 2;再往下执行return result;
     */
    function demo1(){
        var result = 1;
        $.ajax({
            url : 'test.do',
            type : "post",
            data : {},
            async : false,
            success : function(data) {
                result = 2;
            }
        });
        return result;  //2
    }

    3、可以正常运行了。但是,ajax 改为同步请求会导致阻塞;ajax需要进行异步请求。

    /**
      * 添加async:true.即修改为异步
     * 结果以callback的形式回调
      */
     function demo1(params,callback){
        var result = 1;
         $.ajax({
            url : 'test.do',
             type : "post",
             data : {"params ":params },
             async : true,
             success : function(data) {
                 result = 2;
                 callback(result);
             }
         });
     }    
    
    demo1("Value",function(rs){
       //do someting
    })

    注意:ajax请求的php需要echo或print数据,否则ajax也是无法获取数据的。

    更多PHP相关知识,请访问PHP中文网

    以上就是ajax获取不到php返回值的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:ajax 返回值
    上一篇:怎么检查PHP有没有完全卸载 下一篇:php代码生成器好用吗
    线上培训班

    相关文章推荐

    • 前端请求ajax的url 路径怎么写• ajax技术是什么• php判断是不是ajax请求• ajax怎么发送数据给php

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网