get请求下载json文件正常,但是不弹出status
由于单位要写一个模糊查询,为了提升下jq插件写编码,于是就开始了写插件。
准备工作就绪,把插件的一些模子写好了
(function($){ function mergeOption(options) {//初始化 var defaults = { inputBox: $("#searchBoxObj"), inputName: $("#searchBoxObj input"), createClass: "serachDiv", url: "js/json.json" }; var opts = $.extend(defaults, options);//转成对象 opts['inputBox'] = $(opts['inputBox']); opts['inputName'] = $(opts['inputName']); return opts; } function initEvent(options) { options.inputName.keyup(function(){ _createBox(); }); _createBox = function(){//生成框并输入数据 //_getJson(); $.getJSON(options.url, function(json, status) {//需要改json作为参数传递 alert(status) }); $objNewDiv = $('<div>',{'class': options.createClass }); //新建图层 $objNewDiv.html("objNewUl"); options.inputBox.append($objNewDiv); } _getJson = function(){//获取json文件 $.getJSON("js/json.json", function(json, status) {//需要改json作为参数传递 var eData = json["searchData"], len = eData.length; /*for(var i= 0 ; i < len; i++ ){ }*/ return len; }); } } $.fn.extend({ AutoComplete: function(options){ initEvent(mergeOption(options)); return this; } }); })(jQuery);
看着洋洋洒洒写的不错,不过发现了很多坑
第一就是json请求加载正常,就是不返回任何东西,原因居然是我在json文件里写了注释……………… 大牛说json不能包括文本格式,无语。
第二个坑是
var opts = $.extend(defaults, options);//转成对象 opts['inputBox'] = $(opts['inputBox']); opts['inputName'] = $(opts['inputName']); return opts;
没了解这个的真正意思,我把所有接口的属性都转了下,于是,接口调用字符串的时候,返回的是[object object]……………………