如何在传递之前检查 json 结果?
我有这个函数从 yql 查询中检索 json 数据
function link(b){
var jsonURI = "http://query.yahooapis.com/v1/public/yql?q="+encodeURIComponent("select href,alt,content from html where url='"+b+"' and xpath='//a[@id=\"download\"] |//img[@class=\"dvLinkOverlayFill\"] |//meta[@name=\"title\"]'")+"&format=json&diagnostics=true&_maxage=86400&callback=callback&jsoncallback=?";
jQuery.ajaxSetup({cache: true});
jQuery.getJSON(jsonURI,callback);
}
我想要的是在传递给回调之前检查数据是否为 null,如果为 null,则再次运行 link() 函数,如果不是则传递,我已经尝试过
if (jQuery.query.results == null){link(b);}
,但没有运气,有什么建议或指导吗?
使用它的一部分来工作
if (o.query.results == null) { link(b); }
编辑:通过在回调函数内部
callback(o){
if (o.query.results == null) { link(b); }
但是我无法将“b”从链接函数传递到回调函数,这是唯一剩下的工作,比如回调(o,b) 可以在这里传递 jQuery.getJSON(jsonURI,callback); 既然这个正在发送“o”,如何让它也发送“b”?类似的东西 jQuery.getJSON(jsonURI,回调(o,b));
i have this function to retrieve json data from yql query
function link(b){
var jsonURI = "http://query.yahooapis.com/v1/public/yql?q="+encodeURIComponent("select href,alt,content from html where url='"+b+"' and xpath='//a[@id=\"download\"] |//img[@class=\"dvLinkOverlayFill\"] |//meta[@name=\"title\"]'")+"&format=json&diagnostics=true&_maxage=86400&callback=callback&jsoncallback=?";
jQuery.ajaxSetup({cache: true});
jQuery.getJSON(jsonURI,callback);
}
What i want is to check if the data is null or not before passing on to the callback, if its null, it runs again the link() function, if not it passes on, i have tried
if (jQuery.query.results == null){link(b);}
but no luck, any advice or guide?
EDIT: Got it working, part of it, by using
if (o.query.results == null) { link(b); }
inside the callback function
callback(o){
if (o.query.results == null) { link(b); }
However i can't pass the "b" from the link function to the callback function, it's the only thing that is left for this to work, something like callback(o,b) that could be passed on in here jQuery.getJSON(jsonURI,callback);
since this one is sending the "o", how to make it send the "b" aswell? something like
jQuery.getJSON(jsonURI,callback(o,b));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑更新了问题答案:
所以你在参数中得到了 ur b 对象[3]
EDIT updated question answer:
So you got ur b object in arguments[3]
你就不能简化一下吗?
Couldn't you just simplify that?