加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel,ajax发布后更新字段

发布时间:2020-12-14 19:39:20 所属栏目:大数据 来源:网络整理
导读:我正在制作一个小型系统.我已经成功地在我的数据库中创建一个ajax帖子,在那里我使用row.like增加了tblarticles 1.现在在我制作ajax帖子的同一页面上,我想在每个ajax post后更新字段的值.现在我的问题是我需要刷新,然后才能看到1而不是标准0 Ajax帖子 $.ajax(
我正在制作一个小型系统.我已经成功地在我的数据库中创建一个ajax帖子,在那里我使用row.like增加了tblarticles 1.现在在我制作ajax帖子的同一页面上,我想在每个ajax post后更新字段的值.现在我的问题是我需要刷新,然后才能看到1而不是标准0

Ajax帖子

$.ajax({
    url:"articles",type: "post",data: {
        'user_id':userid[0].value,'article_id':articleid[0].value,'user_id_fk':useridarticle[0].value,'_token': token[0].value
    },success: function(data){
        console.log(data);
    }
});

查看文章/ index.blade.php

@foreach($articles as $article)

          <div class="work-container">
              <article class="work-item">
                  <a href="{{action('HomeController@showArticle',[$article->id,$article->title])}}" class="work-thumbnail">
                      <img src="/articlePics/{{$article->image}}" alt="work-item">
                  </a>
                  <div class="work-info">
                      <span class="user">{{$article->title}}</span>
                      <div class="actions">
                          <form id="actionForm" action="" method="post" role="form">
                              <input type="hidden" name="articleId" value="{{$article->id}}">
                              <input type="hidden" name="userIdFk" value="{{$article->user_id}}">
                              <input type="hidden" name="userID" value="{{Auth::id()}}">
                              <input type="submit" name="like" class="likeBtn" id="test" value="Like">
                              <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
                          </form>
                          <span class="likes" name="currentLikes">{{$article->likes}}</span>
                      </div>

                  </div>
              </article>
          </div>
      @endforeach

调节器

if(Request::ajax()) {
        $data = Input::all();
        $user_id =  Auth::id();
        $article_id = Input::get('article_id');
        $user_id_fk = Input::get('user_id_fk');
        $results = DB::select( DB::raw("SELECT * FROM likes WHERE user_id = '$user_id' AND article_id = '$article_id'") );
        $likedOrNot = DB::table('likes')
                ->where('article_id',$article_id)
                ->where('user_id',$user_id)
                ->pluck('likes');

        $currentLikesDB = DB::table('articles')->where('id',$article_id)->pluck('likes');
        echo json_encode(['likesnumber' => $currentLikesDB]);

这是我想要在ajax发布后发布的当前数据更改的最后一个跨度.

解决方法

尝试:

在文章中用json_encode回显相同的数字.

$currentLikesDB = DB::table('likes')->where('article_id',$article_id)->first();
$likesnumber = $currentLikesDB->likes;
return json_encode(['likesnumber' => $likesnumber]);

那么ajax:

$.ajax({
    url:"articles",success: function(data){
        $('.likes').html(data.likesnumber);
    }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读