如何解决如何使用jQuery确定帖子是否在JSONP提要中包含特定类别?
| 我需要检测某个帖子是否包含来自JSONP提要的特定类别。我不确定如何读取数组,因为它当前表示为空。该链接可以正常工作,只是一个字符串。$.jsonp({
url : \"theurl\",dataType : \"jsonp\",timeout : 10000,success : myFunction,error : myErrorFunction
});
function myFunction (data) {
$.each(data,function(i,post){
var link = post.permalink,hasCategory = $.inArray(\"specialcategory\",post.categories);
});
}
这是我的JSON的示例:
[
{
\"id\": 1,\"permalink\": \"http://domain.com\",\"categories\": [
\"category1\",\"specialcategory\"
]
}
]
这是Firebug中出现的错误:
can\'t convert null to object
d()jquery.js (line 16)
a = \"specialcategory\"
b = undefined
[Break On This Error] (function(a,b){function ci(a){return d...a:a+\"px\")}}),a.jQuery=a.$=d})(window);
任何帮助将不胜感激。
解决方法
您可能需要以不同的方式检查
hasCategory
-请参阅jQuery文档:
$.inArray()
方法类似于JavaScript的本机.indexOf()
方法,因为它找不到匹配项时将返回-1。如果数组中的第一个元素与value匹配,则$.inArray()
返回0。
因为JavaScript将0大致等同于false(即0 == false,但0!== false),所以如果我们要检查array
中是否存在value
,我们需要检查它是否等于(或大于)-1。
所以线
hasCategory = $.inArray(\"specialcategory\",post.categories);
应该
hasCategory = $.inArray(\"specialcategory\",post.categories) >= 0;
但是,如果myFunction
实际上没有接收到数据数组,这似乎不是您的主要问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。