【问题标题】:AJAX and Laravel - load data dynamically on modal "Unexpected identifier"AJAX 和 Laravel - 在模式“意外标识符”上动态加载数据
【发布时间】:2018-01-06 07:56:50
【问题描述】:

我正在尝试使用 ajax 在引导模式上动态加载数据,但我无法让它发挥作用。我做了一些研究,我看过一些视频,但我仍然做不到。我希望有人可以帮助我

                  <ul>
                  @foreach ($rs as $r)
                    <li><button class="viewData" value="view" id="{{$r->id}}">{{$r->title}}</button></li>
                  @endforeach
                  </ul>

这是我的物品

  <div class="portfolio-modal modal fade" id="projectView" role="dialog" tabindex="-1" aria-hidden="true">
              <div class="modal-dialog">
                <div class="modal-content" id="modal-content">
                  <div class="close-modal" data-dismiss="modal" data-remodal-action="close">
                      <div class="lr">
                          <div class="rl">
                          </div>
                      </div>
                  </div>
                      <div class="row">
                        <div class="col-lg-12">
                          <div class="modal-body" id="project-content">
                            <!-- CONTENT HERE -->
                          </div>
                        </div>
                     </div>
                  </div>
              </div>
            </div>

这是我的模态,我想在其中详细显示我的项目

更新: 我更新了我的 js 文件,现在我试图在模态中打印我的对象的内容,但它给了我这个错误“意外的标识符”

 $(document).ready(function(){

    $.ajaxSetup({
      headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
      }
    });


   $('.viewData').click(function(){
     var project_id = $(this).attr("id");


     $.ajax({
   url:"/data",
   method:"POST",
   data:{'project_id' : project_id},

   success:function(data){
     var htmlString = "";

     htmlString += "<h3 class="text-center">" + data.title + "</h3>";

     $('#project-content').html(htmlString);
     console.log(data);
     $('#projectView').modal("show");
   }
 });

   });

});

这是我传递项目 ID 的 js 文件

  public function dataToModal(Request $request) {

  if(!empty($request)){
    $id = $request->project_id;
    $project = content::FindOrFail($id);

    return  Response::json($project);

 } else {
  return 'asa';
}

}

这只是我为测试此功能而创建的一个项目,当它工作时,我将在主站点上实现它。有人可以帮助我吗?欢迎任何帮助和建议!

提前谢谢你。

【问题讨论】:

  • 请提供您的控制器代码
  • 控制器代码已更新*
  • 似乎找不到原因。这是一个js错误。您介意打开浏览器控制台并检查导致错误的行。您可以单击右侧的控制台错误,它将带您进入代码
  • 应该在第 22 行,即 htmlString + ="

    "+ data.title +" h3> ";但我认为一切都很好。当我通过 console.log 返回我的对象​​数据时,它为我提供了我需要的所有字段。我不明白为什么我不能只得到 + data.title + 例如。

  • 现在它的 wooorking :) 它只是 h3 标签上的类,必须在 ' ' 而不是 " " .. 感谢您的评论 *

标签: jquery ajax laravel bootstrap-modal


【解决方案1】:

你可以试试这个代码:

JavaScript:

$(document).ready(function(){
    $.ajaxSetup({
      headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
      }
    });
   $('.viewData').click(function(){
     var project_id = $(this).attr("id");

     $.ajax({
       url:"/data",
       method:"POST",
       data: {project_id : project_id},
       success:function(data){
         $('#project-content').html(data);
         console.log(data);
         $('#projectView').modal("show");
       }
     });
   });
});

控制器:

public function dataToModal(Request $request) {
 if(!empty($request)){
   $data = $request->all();
   //print_r($request->all());
   return $data;
 } else {
    return 'asa';
 }
}

【讨论】:

  • 感谢您回答我,如果我返回 $data,它会给我一个类似“Object {1: null}1: null__proto__: Objectconstructor: function Object()”的对象,但我仍然无法获得 id .我确信这很简单,但我没有到达那里,我尝试查看示例但我仍然无法做到:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-11
相关资源
最近更新 更多