2011-09-06 6 views
2

ajax를 사용하여 새 데이터를 성공적으로 삽입 한 후 데이터를 표시하는 테이블이 포함 된 div를 새로 고치려고합니다.성공적인 Ajax 실행시 div 자동 새로 고침

여기 내 코드입니다 :

  $("span.save").live('click', function() { 

       var id = $(this).attr('id'); 
       var name = $('.ingr_name_' +id).val(); 
       var amount = $('.amt_' +id).val(); 
       var unit = $('.unit_' +id).val(); 

       if(name.length > 0 && amount.length > 0 && unit.length > 0) 
       { 
        var dataString = "id=<?php echo $this->uri->segment(3); ?>&name=" +name +"&amount=" +amount +"&unit=" +unit; 

        //alert(dataString); 

        $.ajax({ 
         type: "POST", 
         url: "<?php echo base_url(); ?>recipe/add_ingr", 
         data: dataString, 
         success: function(){       
          //I wanted to refresh the div here. Where the div's id="ingredients_list" 

          alert('Recipe ingredient added.') 
         }, 
         error: function(xhr, status, error) { 
          alert(error) 
         } 
        }); 

        return false; 
       } 
       else 
       { 
        alert("Please fill out all fields."); 
       } 

      }); 

내가 DIV 새로 고침을 수행하는 방법을 찾고 있었어요하지만 그들은이 문제에 대한 내 요구에 적합하지 않습니다. 아무도 이것으로 나를 도울 수 있습니까? 도와 줘서 고마워.

+0

BTW 프런트 엔드에서 오는 PHP를 신중하게 '평가'할 것입니다. 본질적으로, 당신이 그것을하고 사용자 테이블에 대한 쿼리를 전달한다는 사실을 알지 못하게하는 것은 없습니다. 물론 데이터베이스에 연결하지 않는 한, 그렇다면 PHP가 필요한 이유는 무엇입니까? – fncomp

+1

@Josh, 나는 이것이 PHP 파일이라고 가정하고 그 PHP 세그먼트는 엔진에서 페이지 요청에 의해 평가되고있다 ... eval은 어디에 사용 되는가? – PlagueEditor

+0

@PlagueEditor 아, 이제 알겠습니다. 나는 두 사람이 함께 섞인 것을 볼 때마다 나는 단지 의지를 얻는다 고 생각한다. – fncomp

답변

1

ajax 호출의 success 처리기에서 첫 번째 인수에서 응답을 받게됩니다. 이를 사용하여 원하는 마크 업을 만든 다음 ingredients_list 요소에 추가 할 수 있습니다.

success: function(response){ 
    //Using response object create the desired markup for recipe table 

    $("#ingredients_list").html("markUpCreatedUsingResponseFromServer"); 
    alert('Recipe ingredient added.') 
} 
+0

응답에는 무엇이 포함됩니까? – Atasha

+0

'response'는 무엇이든지'url : " recipe/add_ingr"'이 응답으로 반환합니다. – ShankarSangoli

+0

이 나타납니다. 하지만 거기에 javascript에서 location.reload() 같은 일부 호출을 할 수있는 방법이 있나요? Coz 내가 새로 삽입 된 재료를 보여주기를 원했기 때문에 마크 업을 추가하면 편집 기능을 가질 수 있었고 편집 기능을 사용할 수 없었습니다. – Atasha