2014-05-23 6 views
0

나는 category이라는 사용자로부터 입력을받습니다. 모든 키 위에 비슷한 이름의 카테고리가 존재하는지 여부를 검색하기 위해 ajax 요청을 수행하려고합니다. 그렇다면, 거기에 비슷한 이름 범주로 채우기를 원하는 입력 아래 빈 div가 있습니다.laravel에서 아약스 응답이 없습니다.

그래서 양식을 만들었습니다. jQuery를 통해 아약스를 사용했지만 응답을받지 못했습니다.

난이

Route::get('categories/categoryajaxrequest', array('as' =>'categoryajaxrequest', 'uses' =>'[email protected]')); 

Ajax 요청의 URL로서 사용하는 경로 부분

$("#category").keyup(function() { 
    $.ajax({ 
     url: "categories/categoryajaxrequest", 
     type: "get", 
     data: { 
      category: $("#category").val() 
     }, 
     success: function (response) { 
      $("#category_suggestion").html(response); 
     } 
    }); 
}); 

사용하고 JQuery와 Ajax 코드이며,이 컨트롤러 부

//app/controllers/CategoryController.php 

.... 

public function categoryAjaxRequest(){ 
    echo "working"; 
} 

따라서 입력 텍스트의 ID는 "category"이고 입력 아래에는 ID가 "catego"인 div가 있습니다 ry_suggestion ". 입력에 대한 모든 키 입력시, 나는 그것이 ajax 요청을 수행하고 div에 "success"를 표시 할 것으로 기대합니다. 하지만 아무 것도하지 않습니다.

그러나 브라우저에서 "categories/categoryajaxrequest"로 직접 이동하면 "working"이 출력됩니다. $.ajax() 방법의 url: 속성에 직접 조치를 넣어

+0

... 내가 처음으로이 SO 페이지에 액세스했을 때 408 오류가 발생했습니다. 유령 같은?? – Laurence

+0

URL을'categoryajaxrequest'로 변경 하시겠습니까? – Ohgodwhy

+0

URL을'categoryajaxrequest'로 변경해도 도움이되지 않았습니다. 여전히 동일한 응답 – Kanav

답변

1

시도는하고있는 경로가 필요하지 않습니다 :

Laravel 우리에게 그렇게 할 수있는 자유를 제공합니다. 중괄호 {{}}이보기에 사용됩니다. 자바 스크립트는 대개 뷰에서 호출되므로 정당한 방식으로 처리합니다.

$url = URL::action('[email protected]'); 

$url = action('[email protected]'); 
:

, 우리는 URL : 액션 방법 또는 작업 도우미 방법을 사용할 수있는 컨트롤러 액션에 대한 URL을 생성하려면 다음과 같이

URL::action 부분은 문서에 설명되어 있습니다

그래서 URL::action 우리에게 이런 식으로 일을 가능성을 제공 & 템플릿 시스템의 조합 :

$("#category").keyup(function() { 
    $.ajax({ 
     url: "{{URL::action('[email protected]')}}", 
     type: "get", 
     data: { 
      category: $("#category").val() 
     }, 
     success: function (response) { 
      $("#category_suggestion").html(response); 
     } 
    }); 
}); 
+0

그것은 일했다. WTF : D – Kanav

관련 문제