2017-08-06 13 views
-5

jQueryオートコンプリートを実装しようとしています。私はすべてがうまくセットアップされているように感じますが、動作しません。ビューでjQueryオートコンプリートがJSONで動作しない

SearchSkies方法

public JsonResult SearchSkies(string query) 
     { 
      SkiDao skiDao = new SkiDao(); 
      IList<Ski> skies = skiDao.SearchSkies(query); 

      List<string> brands = (from Ski s in skies select s.Brand).ToList(); 
      return Json(brands, JsonRequestBehavior.AllowGet); 
     } 

スクリプト

<script type="text/javascript"> 

    $(function() { 

    $("#searchBox").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      url: '@Url.Action("SearchSkies","Skies")', 
      dataType: "json", 
      data: { 
      query: request.term 
      }, 
      success: function (data) { 
       response(data); 
      } 
     }); 
     }, 
     minLength: 2, 
    }); 
    }); 

</script> 
+0

?ブラウザコンソールにはどのようなエラーが表示されていますか? –

+0

私は何かエラーが発生していない、オートコンプリートは何も完了していない... @StephenMuecke –

+1

あなたはサーバーからブランドを取得していますか?最初にコードをデバッグし、サーバーから返された項目があるかどうかを確認する必要があります。 –

答えて

0

あなたは、AJAX呼び出しで要求のタイプ(GET/POST)が言及されていません。

$(document).ready(function() { 
     $("#searchBox").autocomplete({ 
      source: function(request,response) { 
       $.ajax({ 
        url: "/Skies/SearchSkies", 
        type: "POST", <<---- 
        dataType: "json", 
        data: { query: request.term }, 
        success: function (data) { 
         response($.map(data, function (item) { 
          return { label: item.Name, value: item.Name }; 
         }))  
        } 
       }) 
      }, 
      messages: { 
       noResults: "", results: "" 
      } 
     }); 
    }) 

と作業されていませんどのようなコントローラ

public class SkiesController : Controller 
{ 
     // GET: Home 
     [HttpGet] 
     public ActionResult Index() 
     { 
      return View(); 
     } 
     [HttpPost] 
     public JsonResult SearchSkies(string query) 
     {     
     SkiDao skiDao = new SkiDao(); 
     IList<Ski> skies = skiDao.SearchSkies(query); 

     List<string> brands = (from Ski s in skies select s.Brand).ToList(); 
     return Json(brands, JsonRequestBehavior.AllowGet); 
     } 
} 
+0

まだ同じ問題... –

+0

「同じ問題」、ブラウザのコンソールに何がないのか、コントローラがヒットしているかどうかを確認するためにデバッグしましたか? –

関連する問題