Heim >Backend-Entwicklung >PHP-Problem >Ajax kann den PHP-Rückgabewert nicht abrufen

Ajax kann den PHP-Rückgabewert nicht abrufen

angryTom
angryTomOriginal
2019-10-17 09:20:524768Durchsuche

Ajax kann den PHP-Rückgabewert nicht abrufen

Ajax kann die PHP-Rückgabewertlösung nicht erhalten:

1. Überprüfen Sie zunächst, ob Ajax es ist ist asynchron. Async kann das Ergebnis nicht direkt zurückgeben.

/*常见错误示例  直接在 ajax 里面return 结果*/

 function demo(){
     $.ajax({
         url : 'test.do',
         type : "post",
         data : {},
         async : false,
         success : function(data) {             return 2;
         }
     });
 }/* 结果  无返回 */

2. Stellen Sie dann sicher, dass Ajax keine Daten in verschachtelten Funktionen zurückgibt.

/**
 * (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. Es kann normal laufen. Die Änderung von Ajax in eine synchrone Anfrage führt jedoch zu einer Blockierung; Ajax erfordert eine asynchrone Anfrage.

/**
  * 添加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
})

Hinweis: Das von Ajax angeforderte PHP erfordert Echo- oder Druckdaten, andernfalls kann Ajax die Daten nicht abrufen.

Weitere PHP-bezogene Kenntnisse finden Sie auf der PHP-Chinese-Website!

Das obige ist der detaillierte Inhalt vonAjax kann den PHP-Rückgabewert nicht abrufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn