js
$.ajax({ url:"./index.php", data:{m:"getLineNum"}, type:"get", async:true, success:function(data) { //就是这里的data,传到$.ajax函数的外面 } }); //比如传到这个位置
新手,求指点。
- 首先你要清楚$.ajax()方法是否有返回值,返回值是什么?
js
var promise; promise = $.ajax({ url:"./index.php", data:{m:"getLineNum"}, type:"get" });
其实看过源码的都知道,其实内部处理使用的Deffered对象,
返回的应该是‘精简’的Promise。
2. 使用promise即可链式的处理回调
js
promise.done(function(data){ //resolve //这个data 就是你想要的 });
或者
js
promise.then(function(data){ //同理 //resolve },function(error){ //reject });
promise的写法也是在另一个函数里。
定义一个全局变量,success里把data赋值给这个全局变量,然后改成同步请求,async:false
Js 函数内部可以访问到外部的变量
定义一个全局变量,ajax获取之后赋值给它就行了
找到办法,,
$.ajax(
{
url:"./index.php",
data:{m:"getLineNum"},
type:"get",
async:true
}).done(function(msg)
{
RECORD.id = msg;
alert(RECORD.id);
});
}
这是个异步请求,正常情况下外部是无法获取到的,只能是在请求完成,在回调函数即success里赋值
有逻辑处理的话。你可以通过把ajax
封装成函数,然后以回调的方式处理其它逻辑
你找个外部的变量保存就行了
php
function test(func){ $.ajax( { url:"./index.php", data:{m:"getLineNum"}, type:"get", async:true, success:function(data) { func(data); } }); } test(function(data){ console.log(data); })
javascript
var callback=function(res){ //回调 }; $.post(action,data).done(function(res){ callback(res); });
$.ajax({
success: function(data){
foo(data)
}
})
function foo(data){
alert(data)
}