美文网首页
总结下使用JQuery的$.ajax与$.each遇到的问题

总结下使用JQuery的$.ajax与$.each遇到的问题

作者: curioust | 来源:发表于2017-12-28 10:33 被阅读0次

    相关:laravel 项目中(了解$.ajax才可能看懂以下)

    1. $.ajax 使用get传值,在控制器获取$_Get接收数据,这条传值的路由可以在chrome开发者工具的Network中查看到。
    2. 关于 $.ajax
    function selectComment(status_id) { //a标签中通过onclick触发这个函数,带参数值
            $.ajax({
                type: "get",   //请求的方式,也有post请求
                url: "comment", //请求地址,拼接到当前地址后面
                dataType: "json", //json格式,控制器 返回的数据为json格式的。
                cache: false,  //设置为 false 将不缓存此页面
                data: {
                    status_id: status_id,  //左右为键值对,在后台接收就是左边的名
                    _token: "{{ csrf_token() }}"
                },
                 success: function (Comment_content) { //参数可以理解控制器传回的值
                      //这里是处理接收到数据的地方
                }
    
    1. 关于 $.each,是在 success: 中进行操作数据的
    //类似与php的foreach,dataReply是要遍历的数据,key/value是键值对,数据存在value中,在下面调用
    $.each(dataReply, function (key, value) {
                cons += "<div>回复内容:"+ value.reply_content +"</div>";
     });
    
    1. 在这次编程中,为了给每个遍历出的数据加上不同的id值,使用了以下方式:
    <ul id="comment_content{{ $status->id }}"></ul>
    //{{ $status->id }}是获取laravel控制器传来的值,这样赋值给id,每一条遍历出来id值都不同
    //在ajax中就遍历就分别加到对应的id值上了,类似于下:
    var comments = "#comment_content" +  status_id ; //定义变量等于字符串+id值
    $(comments).html(con); //使用html方法把con的值添加到对应的id值的位置
    
    1. 一个要注意的地方,关于 id 值的,单引号内部俩边的空格不能随便存在的,不能自动省略掉的。比如:
    //"+item.id+"是参数,每次遍历带有不同值
     con += "<div id='reply_content"+item.id+"'></div>";①
     con += "<div id=' reply_content"+item.id+" '></div>";②
    

    ①和②的值是不同的,比如①是 reply_content1,那②就是 reply_content1 俩边带空格。

    相关文章

      网友评论

          本文标题:总结下使用JQuery的$.ajax与$.each遇到的问题

          本文链接:https://www.haomeiwen.com/subject/sadmgxtx.html