laravel 中如何使用ajax和vue总结

最近写一个项目是基于laravel框架的,这个框架传言是为艺术而创作的优雅框架,简洁分明的风格,很吸引我,所以最近研究比较多。本次就是基于该框架然后将Vue插件加入实现一定的功能,vue插件本身强大,具体不说了,有兴趣的同学可以去官网https://cn.vuejs.org/。laravel 本身php页面是用blade引擎,渲染数据格式:

{{msg}}

但是熟悉Vue渲染的同学知道Vue的格式是:

{{ message }}

这样就引起了冲突,因此,可以是

@{{msg}}

使用@跳出blade引擎模式。

以下代码摘自是laravel-china@leo作者


 @{{ item.id }}
 @{{ item.name }}
 @{{{ displayHosts(item.hosts) }}}
 @{{{ bool2icon(item.enabled) }}}
 @{{{ bool2icon(item.allow_proxy) }}}
 @{{ item.created_at }}
 
  {{ trans('admin.edit') }}
 

以下是本人自己写的代码:

  • @{{course.name}}
    讲师:@{{course.teachername}} 学期:@{{course.semester}}
    @{{course.price}}元
  • 有时候我们可能向带有链接的地方插入Vue数据值作为参数,但是熟悉Vue的同学知道Vue是mustache 语法不能作用在 HTML 特性上,遇到这种情况应该使用 v-bind 指令:

    另外一种思路是使用v-on:click。

    又例如下面的代码:

    就是使用v-bind实现数据的绑定。

    最重要的是我吃了很长的时间的惯性思维的亏,认为使用ajax发送请求都是同样的模板。

    但是在laravel中必须考虑CSRF-TOKEN。

    如下的代码:

     function init_courses()
     {
      // debugger;
      $.ajax({
       type:"post",
       url:'/selectCourse', 
       dataType: 'json',
       data:{result:resul='全部,全部,全部'},
       headers: {
       'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
       },
       success:function(data)
       { 
        mydata.courses=eval(data.result); 
        console.log(mydata.courses);
       },
       error: function(xhr, type){
    
       alert('Ajax error!')
    
       }
    
      });
     };
    
    

    如果你的页面没有看到一个CSRF,可以在页面头部加入

    这样就可以请求成功。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    你可能感兴趣的:(laravel 中如何使用ajax和vue总结)