2015-10-07 50 views
0

我使用JQuery自動完成列表。但我無法從本地json文件獲取數據。 我該怎麼辦? 我想在我的json數據中搜索產品字段。JQuery自動完成列表獲取Json項目

js func。

$("#autocomplete").on("filterablebeforefilter", function (e, data) { 
     var $ul = $(this), 
      $input = $(data.input), 
      value = $input.val(), 
      html = ""; 
     $ul.html(""); 
     if (value && value.length > 2) { 
      $ul.html("<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>"); 
      $ul.listview("refresh"); 
      $.ajax({ 
       url: "file:///D:/projects/phonegap/Genuis_Market/www/products", 
       dataType: "jsonp", 

       data: { 
        q: $input.val() 
       } 
      }) 
      .then(function (response) { 
       $.each(response, function (i, val) { 
        html += "<li>" + val + "</li>"; 
       }); 
       $ul.html(html); 
       $ul.listview("refresh"); 
       $ul.trigger("updatelayout"); 
      }); 
     } 
    }); 

JSON數據

{"Code":2376,"Bar Code":"[ 7896194400046 ]","Product":" ACUCAR MASCAVO NATU´S","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":6.99," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":2187,"Bar Code":"[ 8076809529433 ]","Product":" BARILLA INTEGRALE PENNETTE RIGATE","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":8.35," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":1072,"Bar Code":"[ 7891095154296 ]","Product":" CANELA DA CHINA 8G","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":3," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":2249,"Bar Code":"[ 7891150029606 ]","Product":" SHAMPOO TRESEMME BLINDAGEM PLATINUM","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":12.53," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":1464,"Bar Code":"[ 7896005801826 ]","Product":"3 CORAÇOES EXTRAFORTE 500G","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":8.49," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":1173,"Bar Code":"[ 7896209400771 ]","Product":"7 GRAOS INTEGRAL 400G","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":7.99," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":1174,"Bar Code":"[ 7896002366250 ]","Product":"9 GRAOS INTEGRAL 400G","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":5.99," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":1557,"Bar Code":"[ 7501001169374 ]","Product":"ABSORVENTE ALWAYS ACTIVE 8UN","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":5.49," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":2403,"Bar Code":"[ 7896007541874 ]","Product":"ABSORVENTE INTERNO INTIMUS SUPER","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":5.98," ": ,"Weight":0,"Promotion":"0 Un"}, 
{"Code":2401,"Bar Code":"[ 7896007541867 ]","Product":"ABSORVENTE INTERNO INTIMUS SUPER C8","Stock":null,"Supplier":null,"Departament":"MERCEARIA","Price":5.89," ": ,"Weight":0,"Promotion":"0 Un"}, 
+0

由於安全原因,無法使用javascript讀取本地文件 如果這對您是必需的,那麼請嘗試禁用Chrome的網絡安全 –

+0

看起來您忘記了'url:「file:///中的JSON文件名D:/ projects/phonegap/Genuis_Market/www/products「,' –

+0

json name is products.json –

回答

0

問題是因爲JavaScript有沒有訪問文件系統的客戶端上。您可以在瀏覽器中禁用此功能,但很可能它不是您想要的。只需運行本地服務器並請求您的json。請記住Same-origin policy