YQL-如何通过自定义ID对请求进行签名
YQL - how to sign request by custom ID
我有一个非常简单的jQuery应用程序,用查询YQL
SELECT title, href FROM digg.search.search WHERE query="cats" LIMIT 5
我将每个查询记录到简单的ul-li列表中,在其中指示ajax请求的状态(ajax加载程序,好,错误)。请求完成后,我想将适当li元素的CSS class
分别从"loading"
更改为"ok"
/"err"
。
但要识别正确的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'
}
在成功回调中,我需要根据li元素进行引用。我不能重用rqid
变量,因为它可以被其他请求重写,而第一个请求仍在等待响应。
success: function(data) {
$searchLogger.find('[data-rqid="' + idOfThisRequest + '"]')
.removeClass('loading')
.removeClass('error')
.addClass('ok');
... // other code
}
YQL请求、rqid
对请求进行"签名"以及在回调中获取该ID有任何选项吗?
我认为YQL中没有任何选项可以向回调中返回的查询添加这样一个唯一的ID。
既然您使用的是jQuery,那么您可能可以按照jQuery论坛中的描述来做一些事情:唯一地识别ajax请求/响应。基本上,他们向XHR请求添加了一个唯一的标识符,您可以在回调函数中读取该标识符。
相关文章:
- 如何通过类比curl请求从JavaScript发出请求
- 是否可以通过Chrome扩展内容脚本打开Chrome外部协议请求
- 通过sdk/system/events在修改请求观测器上测试http
- 通过XHR请求将MYSQL数组从PHP返回到Javascript
- 通过AJAX向同一页面发送POST请求,并使用$_POST获取值
- 通过Javascript传递请求参数
- 我如何发送AJAX请求的内容是通过无限滚动加载的
- 通过C#向区块链服务发送请求时未定义XMLHttpRequest
- 如何在Javascript中通过POST请求发送XML数据
- sailsjs cors 糟糕的请求仍然通过控制器
- 如何对 Apache 服务器进行签名,以便来自目录的所有请求都通过 HTTPS 并包含您的私钥
- HTTP 请求并通过 JSON 的比较转换为 JSON
- 具有对象类型的参数,其属性名称/值各不相同.需要在GET请求中通过URL发送道具名称/值
- 正在获取请求't通过访问控制检查:否'访问控制允许来源'标头存在于请求的资源上
- 可以't通过ajax post向hubspot发送JSON请求,通过chrome Extension popup
- 如何解析Express/ NodeJs中缺少内容类型的HTTP请求,通过假设一个默认的内容类型
- 谷歌日历API请求不通过Node.js (Express) +请求库
- 查找请求是通过Script或. net请求
- 使用NodeJS和请求包通过代理执行PUT请求
- 如何避免在前一个请求之前通过ajax请求数据在for循环中完成