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中文网!
Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务