2014-01-13 3 views
0

Эта функция полностью в порядке, пока не дойдет до последней части, , которая является «успехом» в вызове ajax.ajax success call in jquery's autocomplete select not going

C# возвращает правильные значения для анализа, но никогда не достигает функции alert().

Кто-нибудь видит какие-либо вопиющие ошибки/способы сделать этот код лучше (и работает)?

Спасибо

$(function() { 
    $("#txtSearch").autocomplete({ 
     minLength: 2, 
     timeout: 500, 
     source: '@Url.Action("GetExercises")', 
     select: function (event, ui) { 
      event.preventDefault() 
      $("#txtSearch").val(ui.item.value) 
      var eName = document.getElementById("txtSearch").value 
      $.ajax({ 
       type: "GET", 
       url: '@Url.Action("detailFill")', 
       contentType: "application/json; charset=utf-8", 
       data: { 'exerciseName': eName }, 
       dataType: "text json", 
       success: function (data) { 
        alert(data[0].label+ " " + data[0].value) 
        document.getElementById("primaryMuscleValue").innerHTML = data[0].label 
        document.getElementById("secondaryMuscleValue").innerHTML = data[0].value 
       } 
      }); 
     } 
    }); 
}); 

+0

изменение 'DATATYPE:«JSON»' –

+0

Неа, не так .... но я думал, что «текст JSon» был действителен , это не? –

+0

wat ru, возвращающийся из C#? If json den set dataType как 'json', или если текст den как 'text' – iJade

ответ

0

Установите dataType в JQuery AJAX в зависимости от того, что вы передаете со стороны C# сервера. , если его данные JSON затем установить его в качестве json еще, если его текст затем установить DATATYPE в text

0

Try This One

$('#Dimen').autocomplete({ 
     source: function (request, response) { 
      $.getJSON("/BindInventory/Dimen?term=" + request.term, function (data) { 
       response(data); 

      }); 

     }, 
     minLength: 1, 
     delay: 100 

    });