如何使用ajax在url中传递不同的链接值

Posted

技术标签:

【中文标题】如何使用ajax在url中传递不同的链接值【英文标题】:How to pass the different link values in url using ajax 【发布时间】:2021-08-21 19:41:36 【问题描述】:

我正在使用 laravel 框架并构建用户输入条件并从数据库中获取与表中搜索条件匹配的所有数据的系统。在每行数据的结果表中都有一个名为“请求”的链接。用户单击请求链接以请求所需物品。请求链接将特定项目的 ID 传递到后端并更新到数据库中的表列。目前,页面每次都必须重新加载才能发出请求,这很烦人。那么,我可以在不使用 ajax 刷新页面的情况下通过链接动态传递 ids 到我的后端吗?

这是我的观点

  <div class='container' style="margin-top:50px">
        <div class="row">
    
      

      <div class="input-group" style="margin:20px">
        <form >
          <table style="float:right">
            <th>
                <div class="form-outline">
                    <input type="search" id="form1" class="form-control" placeholder="Search" /></th>                        
                      <th><button type="button" class="btn btn-success" >
                      <i class="fas fa-search"></i>
                        </button></th>
          
  </form>
</div>


      <div class="table-responsive">

        <table class="table custom-table">
          <thead>
            <tr>
              <th scope="col">
                <label class="control control--checkbox">
                  <input type="checkbox" class="js-check-all"/>
                  <div class="control__indicator"></div>
                </label>
              </th>
              <th scope="col" >S.N</th>
              <th scope="col">LC NO</th>
              <th scope="col">Applicant</th>
              <th scope="col">Doc Value</th>
              <th scope="col">Doc Received date</th>
              <th scope="col">LC Type</th>
              <th scope="col">Action</th>
            </tr>
          </thead>
          <tbody>
            <?php $number = 1;?>
            @foreach($datas as $items)
              
            <tr>
              <th scope="row" style="padding:20px">
                <label class="control control--checkbox">
                  <input type="checkbox"/>
                  <div class="control__indicator"></div>
                </label>
              </th>
              <td>$number</td>
              <td>$items->lc_no</td>
              <td>$items->applicant</td>
              <td>$items->doc_value</td>
              <td>$items->rec_date</td>
              <td>$items->sight_usance</td>
              <td><a href="maturity_reqController/$items->id">Request</a></td>
              <td><a href="/hold_req/$items->id">Hold</a></td>
            </tr>
            <?php $number++; ?>
            @endforeach
         
            
          </tbody>
        </table>
      </div>


    </div>

  </div>

这是我的控制器

function maturity_reqController($id)
    $forset = new Settlement();
    $forset->org_document_id = $id;
    $forset->save();

 $data = Doc::find($id);
 $data->status = "Maturity Requested";
 $data->save();
 return redirect('maturity_settlement');



【问题讨论】:

【参考方案1】:

如下更改链接

<td><a href="#" data-id="$items->id" class="sendRequest">Request</a></td>

javascript

<script>
$('.sendRequest').on('click',function()
    
    var id=$(this).attr('data-id')
    $.ajax
(
  type: "GET",
  url: "maturity_reqController/"+id,

  success: function(response)
  
     alert(response);
  
);

)

</script>

【讨论】:

它有效,但是...我需要在更新时将其从列表中隐藏... 那么您需要使用 jquery 根据您选择的行隐藏

以上是关于如何使用ajax在url中传递不同的链接值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AJAX 将数据从视图传递到控制器

如何在@Url.Action 中传递动态值?

如何使用 jQuery 在 GET 请求中传递参数

如何在控制器laravel 8中通过ajax传递路由链接和图像存储链接

如何解决ajax跨域问题

如何在Intent ACTION_SEND中将超链接传递给Gmail?