Symfony3.2和Ajax

时间:2017-04-20 12:40:27

标签: php jquery symfony

我已经发布了这个主题,但我还没有解决,我仍然会回来。 我在symfony和Ajax上做了一个简单的例子来计算两个数字的总和,而不是错误,但是当我点击按钮时,答案不能直接显示,但是我必须单击Symfony Profiler并显示答案。 请帮帮我

控制器:

/**
     * @Route("/cal",name="cal_page")
     */
    public function ajaxAction(Request $request)
    {  
           $num1=$request->query->get('nbr1');
           $num2=$request->query->get('nbr2');      
            $som=$num1+$num2;
            return $this->render('ProjetBundle:Default:ajax.html.twig',array('som'=>$som));  
    }

查看:

Nombre1:
			<input type="text"  id="num1"><br><br>		
			Nombre2:
			<input type="text" id="num2"><br><br>		
			Resultat:	
			<input type="text"  id="resultat" value="{{som|default}}"><br> 					
			<input type="button"  id="bttn" value="sum">	

在这里,当我点击总和我应该得​​到“结果”的答案,但我必须继续探查器才能得到答案

JS:

{% block javascripts %}
<script type="text/javascript">	
	$(document).ready(function(){
		$( "#bttn" ).click(function(e){
			e.preventDefault();
    	var nbr1 = $('#num1').val();
    	var nbr2 = $('#num2').val();
    if (isNaN(nbr1)|| isNaN(nbr2)) {
    	alert('nbr1 ou nbr2 number');
    }
    else{
    		$.ajax({
    			type:'GET',
    			data:{nbr1:nbr1,nbr2:nbr2},
    			url:'{{path('cal_page')}}',
    			dataType:'html',
    			success:function(data){                
    				$("#resultat").html(data.som);  	
    			},
    			error:function(){
    				alert('attention');
    			}
    		});
            return false;
    	}
    });		
});
</script>
{%endblock%

1 个答案:

答案 0 :(得分:0)

我认为错误在于成功功能。 你在jquery说你希望在数据中找到一个html字符串。然后你在数据中查找索引。

代码应该是这样的:

  success:function(data){                
            $("#resultat").html(data);      
          }