我正在尝试在 json 中创建即时搜索功能。代码看起来是对的,但肯定是行不通的。请大家看看并帮我修复它好吗?提前致谢。
			
			1023 次
		
3 回答
            3        
        
		
我必须在你的 jsfiddle 上启用 jQuery ......
一旦我这样做了,似乎服务器正在为 ajax 请求返回 500 服务器错误。
您需要调查服务器端响应,因为我们无法为您解决此问题。
于 2012-09-04T20:39:47.867   回答
    
    
            1        
        
		
您的 JSONP 代表您的 AJAX 调用接收的数据。它看起来像这样:
jsonCallback([{
    "id": 41,
    "title": "My city",
    "permalink": "http:\/\/mykolaiv.cityfacts.pro\/my-city\/",
    "content": "",
    "meta": {
        "ultimatum_layout": [""],
        "_edit_last": ["1"],
        "_edit_lock": ["1346784971:1"]
    },
    "excerpt": "",
    "date": "2012-09-04 18:26:50",
    "author": "oyeremchuk",
    "categories": [],
    "tags": [null]
}]);
最外面的节点是一个数组。要访问该数组中的第一个元素,您可以使用索引器:response[0]。那么问题是“你想从你的数据中得到什么?”
从您的 js 来看,您可能希望循环遍历整个响应,id然后title从permalink每个项目中提取和提取。这应该为您的回调做:
    success: function(response) {
        $.each(response, function(i, item) {
            var data_id = item.id;
            var data_title = item.title;
            var data_viewCount = item.permalink;
            var final = "<div id='id'><div>" + data_id + "</div><div id='title'>" + data_title + "</div></div>";
            $("#results").append(final);
        });
    }
    于 2012-09-04T21:03:40.973   回答
    
    
            0        
        
		
你检查过你的 JavaScript 控制台吗?
"Uncaught TypeError: Cannot read property 'items' of undefined"-- 因为你的 JSON 中没有dataor data.items。
尝试改变
if (response.data.items) {
到
if (response.data && response.data.items) {
它至少会优雅地失败。
于 2012-09-04T20:32:31.697   回答