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!