Javascript YQL-如何通过自定义ID对请求进行签名
我有一个非常简单的jQuery应用程序,用Javascript YQL-如何通过自定义ID对请求进行签名,javascript,jquery,ajax,asynchronous,yql,Javascript,Jquery,Ajax,Asynchronous,Yql,我有一个非常简单的jQuery应用程序,用 SELECT title, href FROM digg.search.search WHERE query="cats" LIMIT 5 我将每个查询记录到简单的ulli列表中,并在其中指示ajax请求的状态(ajaxloader,ok,error)。请求完成后,我想将相应li元素的CSS类分别从的“加载”更改为的“确定”/的“错误” 但为了识别正确的li元素,我必须通过某种唯一的ID找到它。在AJAX调用之前,我通过data-属性标记li元素,如
SELECT title, href FROM digg.search.search WHERE query="cats" LIMIT 5
我将每个查询记录到简单的ulli列表中,并在其中指示ajax请求的状态(ajaxloader,ok,error)。请求完成后,我想将相应li元素的CSS类
分别从的“加载”
更改为的“确定”
/的“错误”
但为了识别正确的li元素,我必须通过某种唯一的ID找到它。在AJAX调用之前,我通过data-
属性标记li元素,如下所示:
var rqid = uniqId();
$searchLogger.append('<li class="loading" data-rqid="'+ rqid +'"><a href="#">' + q + '</a></li>');
$.ajax({
url : 'http://query.yahooapis.com/v1/public/yql',
type : 'POST',
dataType: 'json',
data : {
callback : '',
format : 'json',
env : 'store://datatables.org/alltableswithkeys',
q : 'SELECT title, href FROM digg.search.search WHERE query="' + q + '" LIMIT 5'
}
YQL请求是否有任何选项,通过我的
rqid对请求进行“签名”,并在回调中获取该ID?我认为YQL中没有任何选项可以将这样一个唯一的ID添加到回调中返回的查询中
由于您使用的是jQuery,因此您可能可以执行jQuery论坛中所述的操作:。基本上,它们是在XHR请求中添加一个您可以在回调函数中读取的唯一标识符
success: function(data) {
$searchLogger.find('[data-rqid="' + idOfThisRequest + '"]')
.removeClass('loading')
.removeClass('error')
.addClass('ok');
... // other code
}