【问题标题】:I want to post data to my database without page refresh when user clicks on anchor tag当用户单击锚标记时,我想将数据发布到我的数据库而不刷新页面
【发布时间】:2019-05-31 08:53:36
【问题描述】:

代码如下。当用户单击anchr标签时,我想将我的添加ID保存到数据库中,但这不起作用。现在我已将ID保存到隐藏的文本字段中,但仍然不起作用。 id 没有到达控制器。

【问题讨论】:

  • 你也可以发布你的html吗?
  • 你有什么错误吗?
  • 在任何地方都没有出错,现在我将广告 ID 保存到隐藏的输入字段中。
  • 你不能放代码控制器??
  • 我已经给出了主控制器代码图片的链接

标签: jquery laravel


【解决方案1】:

Image for main controller您的 Ajax 语法错误。检查下面正确的一个

<script>
jQuery(document).ready(function(){

   jQuery('#haha').click(function(e){
      e.preventDefault();

      jQuery.ajax({

         url: "{{ url('/mysavedadds') }}",
         type: 'POST',
         data: {
            ad_id: jQuery('$data->id').val(),
            _token:"{{csrf_token()}}"
         },
         success: function(result){
            console.log(result);
         }});
      });
   });

控制器功能

function mysavedadds(Request $request)
{
 echo "<pre>";print_r($request->all());die;
 } 

【讨论】:

  • 你能从 web.php 文件中发布根目录,即 mysavedadds
  • Route::get("/mysavedadds","MainController@mysavedadds");
  • Route::post("/mysavedadds","MainController@mysavedadds")->name('mysavedadds');使用这个
  • 你能把这个函数mysavedadds发给我吗?您在 MainController 中创建的。或者你可以把 MainController 文件发给我
  • 我已经给出了上面主控制器代码文件的图片链接。谢谢
【解决方案2】:

你需要命令你ajax试试这个

jQuery(document).ready(function(){

 jQuery('#haha').click(function(e){
   e.preventDefault();
    $.ajax({
     url: "url{{'/mysavedadds'}}",
     type: 'GET',
     data: {ad_id : $('#ad_id').val()},
     dataType: 'json',
     success: function( data ) {
       console.log(data);
      }       
   })
  });
});

【讨论】:

  • 在您的 controller function put (Request $request) 中,您会在此 $request-&gt;ad_id 上获得 id 需求
  • 问题指定POST,而不是GET。此外,JSON 从未在任何地方提及...
  • @PoorlyWrittenCode 他在评论中输入的第一个答案路线是get no post
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
相关资源
最近更新 更多