【问题标题】:Symfony3.2 and AjaxSymfony3.2 和 Ajax
【发布时间】:2017-04-20 12:40:26
【问题描述】:

这个话题我已经发过了,但是还没解决,还是会回来。 我在 symfony 和 Ajax 上做了一个简单的例子,计算两个数字的总和,不是错误,但是当我点击按钮 sum 时答案不会直接显示,但我必须点击 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">	

在这里,当我单击 sum 时,我应该在“resultat”上得到答案,但我必须继续使用 profiler 才能得到答案

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%

【问题讨论】:

    标签: php jquery symfony


    【解决方案1】:

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

    代码应该是这样的:

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

    【讨论】:

    • 谢谢,同样的情况
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2012-07-19
    • 2014-04-03
    • 2012-11-28
    • 2017-07-14
    • 2023-03-16
    相关资源
    最近更新 更多