2017-05-16 3 views
2

AJAX URL에 문제가 있습니다. AJAX를 사용하여 자동 완성 데이터를 얻으려고하고 AJAX url을 동적으로 할당합니다. 하지만 정적 AJAX url 문자열을 넣어도 완벽하게 작동하지만 작동하지 않습니다. 도와주세요, 제발. 감사합니다동적으로 할당 된 Ajax URL 문자열이 jquery-ui에 아무 것도 표시하지 않습니다. 자동 완료

<!DOCTYPE html> 

<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <title>TEST Window</title> 
    <link rel="stylesheet" href="{{asset('css/bootstrap.min.css')}}"> 
    <link rel="stylesheet" href="{{asset('css/style.css')}}"> 
    <link rel="stylesheet" href="{{asset('css/jquery-ui.css')}}"> 

    <script src="{{asset('js/jquery.js')}}"></script> 
    <script src="{{asset('js/jquery-ui.js')}}"></script> 
    <script src="{{asset('js/bootstrap.min.js')}}"></script> 

</head> 
<body> 
    <form action ="{{route('testbtn')}}" method='POST' accept-charset="UTF-8" novalidate="novalidate" class="form-horizontal"> 
     <div class="row"> 
      {{csrf_field()}} 
      <div class="col-md-1" >Profession </div> 
      <div class="col-md-3"> 
       <input type="text" placeholder="Select profession" class="ui-widget form-control autocomplete" name="f1" id="f1" value="" data-href="{{URL::to('searchp')}}"> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-md-1" >Region</div> 
      <div class="col-md-3"> 
       <input type="text" placeholder="Select a region" class="ui-widget form-control autocomplete" name="f2" id="f2" value="" data-href="{{URL::to('searchr')}}"> 
      </div> 
     </div> 
     <div class="row`"> 
      <div class="col-md-1" >MKB list</div> 
      <div class="col-md-3"> 
       <input type="text" placeholder="Select MKB" class="ui-widget form-control autocomplete" name="f3" id="f3" value="" data-href="{{URL::to('get1mkb10')}}"> 
      </div> 
      <div class="col-md-1"><p id="id"></p></div> 
      <div class="col-md-2"> 
       <input type="submit" value='submit' /> 
      </div> 
     </div> 
    </form> 

    <script> 

     $(".autocomplete").each(function(index, value){ 

      $(this).autocomplete({ 
       source: function(request, response){ 
        $.ajax({ 
         url: $(this).data('href'), 
         dataType: "json", 
         data: {term:request.term}, 
         success:function(data){ 
          response($.map(data, function(item){ 
           return { label: item.label, id: item.id} 
          })); 
         } 
        }); 
       }, 
       minLength: 2, 
       focus: function(event, ui){ 
        $(this).val(ui.item.label); 
       }, 
       select: function(event, ui) { 
        $(this).val(ui.item.label); 
        $(this).attr("value",ui.item.id); 
       } 
      }); 
     }); 


    </script> 

</body> 
</html> 
+0

console.log ($ (this) .data ('href'))의 결과보기; –

+0

09 : 41 : 29.1103 테스트 : 48 HREF : "http : // lrvlauth/searchp" 09 : 41 : 29.118 테스트 : 48 HREF : "http : // lrvlauth/searchr" 09 : 41 : 29.122 테스트 : 48 HREF : "http : // lrvlauth/get1mkb10" 09 : 41 : 32.156 jquery.js : 9566 XHR로드가 완료되었습니다. "http : // lrvlauth/test? term = ht"를 가져옵니다. – UlanbekA

+0

일반적으로 AJAX는 올바른 데이터를 반환합니다. 그러나 자동 완성은 결과를 표시하지 않습니다. 하지만 URL을 정적 텍스트로 변경하면 모든 내용이 표시됩니다. – UlanbekA

답변

-1

시도 사용

URL : "t =". $ (이) .DATA ('HREF') + + (새 Date()) 다음 getTime()가 //에 임의의 숫자를 추가 캐시 방지

+0

고마워,하지만 도움이 안된다 ... – UlanbekA