先看代码:
content = content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi,
function (match, capture) {
$.ajax({
data: { imgSrc: capture },
dataType: 'jsonp',
success: function (data) {
//如何将data值返回给function (match, capture)
}
});
});
需求是:在ajax的回调函数中将ajax请求的返回值传递给上层函数(也就是replace的回调函数)。
简面言之:function (match, capture) 要返回 success: function (data) 中的 data 值。
13 回答

慕少森
TA贡献2019条经验 获得超9个赞
var result = ''; $.ajax({ data: { imgSrc: capture }, dataType: 'jsonp',
async:false,
success: function (data) { result = data; } }); console.log(result );
这样不知道是否满足意思。。。

宝慕林4294392
TA贡献2021条经验 获得超8个赞
ajax是异步的直接return的方式显然是不行,建议的做法是直接将要对数据进行处理的函数,在方法中传递进来,这样就达到了数据处理的效果;
如果非要返回的话,建议定义一个类似消息队列的处理方式来达到这个效果,个人感觉必须返回回去的难度有点大
添加回答
举报
0/150
提交
取消