首頁 > 後端開發 > PHP問題 > ajax獲取不到php返回值

ajax獲取不到php返回值

angryTom
發布: 2023-02-26 22:34:01
原創
4736 人瀏覽過

ajax獲取不到php返回值

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.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板