请有人给我一个如何使用jquery调用yboss(v2)的示例。 我尝试使用getJSON和$ .ajax方法传递正确的oauth值和 签名但两种方法都没有调用回调函数。相同的代码工作 与老板的v1很好。
这是我传递给ajax的url(requestStr)示例:
http://yboss.yahooapis.com/ysearch/web?callback=?&count=10&oauth_consumer_key=dj0yJmk9SFUzQno3ZnUwMHBaJmQ9WVdrOWNXRkRaa1Z2Tm1zbWNHbzlOek01TVRJeU1UWXkmcz1jb25zdW1lcnNlY3JldCZ4PWNk&oauth_nonce=7887075&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1317994276&oauth_version=1.0&q=horse&start=0&oauth_signature=lFVXgxkq79Tp5E5QeyEHdOfbASg=
粘贴到浏览器(chrome)时会返回预期的结果。已成功设置使用Yahoo Boss的付款帐户,以便拨打此API。
谢谢,
罗布
$.getJSON(requestStr, function (response) {
// never gets here
});
this doesn't work either:
$.ajax({
type: 'GET',
url: requestStr,
dataType: 'jsonp',
success: function (response) {
// never gets here
}
});
答案 0 :(得分:1)
您的网址不包含callback
GET参数。 $.getJSON
只有在URL中发现JSONP时才会请求JSONP,这就是为什么它不起作用。但是,根据jQuery文档,如果您将$.ajax
指定为“jsonp”,则dataType
可能会将其添加到URL中。但是,我看到野外的示例包括URL中的回调,而不管将“jsonp”指定为dataType
。所以,试一试。
正如@Eonasdan建议的那样,检查您在控制台中获得的回复。如果它们是红色的,那就意味着存在某种错误,在99.9%的情况下,这是由于同源策略。