如何在laravel中的buttonclick上调用ajax函数?

时间:2017-06-21 11:21:16

标签: ajax laravel

查看代码:

<script>
    function getMessage(){
        $.ajax({
           type:'POST',
           url:'/getmsg',
           data:'_token = <?php echo csrf_token() ?>',
           success:function(data){
              $("#msg").html(data.msg);
           }
        });
     }
</script>


<body>
     <div id = 'msg'>This message will be replaced using Ajax. Click the button to replace the message.</div>
     <input type="button" value="Replace Message" onclick='getMessage()'>
</body>

在这里,当我点击按钮时,它应该被其他文本替换。但点击时会显示出来。

控制器代码:

public function index(){
    $msg = "This is a simple message.";
    return response()->json(array('msg'=> $msg), 200);
}

4 个答案:

答案 0 :(得分:0)

在纯js中,代码工作正常

&#13;
&#13;
     function getMessage(){
        alert('Its working!');
     }
&#13;
<body>
  <div id = 'msg'>This message will be replaced using Ajax. 
     Click the button to replace the message.</div>


  <input type="button" value="Replace Message" onclick='getMessage()'>
</body>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

看起来不错。

在您的成功中放置一个断点,看看有什么数据。

或者做一个console.log

米克

答案 2 :(得分:0)

在您的ajax代码中

未定义dataType,添加dataType:"json",以检索json数据,将您的ajax代码更改为  function getMessage(){

$.ajax({
     type:'POST',
     url:'/getmsg',
     dataType:'json',
     data:{
         _token = '<?php echo csrf_token() ?>'
     },
     success:function(data){
         $("#msg").html(data.msg);
     }
});

答案 3 :(得分:0)

使用下面提到的代码更新您的代码,让我们尝试..我会为我工作..

    <script type="text/javascript" charset="utf-8">

    $(document).on('click', '#btnSelector', function(event) {
        event.preventDefault();
        /* Act on the event */

        getMessage();

    });
    var getMessage = function(){
        $.ajax({
            type:'POST',
            url:'/getmsg', //Make sure your URL is correct
            dataType: 'json', //Make sure your returning data type dffine as json
            data:'_token = <?php echo csrf_token() ?>',
            success:function(data){
                console.log(data); //Please share cosnole data
                if(data.msg) //Check the data.msg isset?
                {
                    $("#msg").html(data.msg); //replace html by data.msg
                }

            }
        });
    }
 </script>

<body>

    <div id = 'msg'>This message will be replaced using Ajax. Click the button to replace the message.</div>
    <input type="button" value="Replace Message" id='btnSelector'>

</body>