【问题标题】:Laravel Request::Ajax() not workingLaravel 请求::Ajax() 不工作
【发布时间】:2015-02-02 23:08:46
【问题描述】:

我正在尝试学习 Laravel Ajax 请求。

route.php

    Route::get('/repository/', 'RepositoryController@index');
    Route::post('/repository/', function(){
        if(Request::ajax()){
            return 'Got everything';
        }
    });

repository.index.php我有一个模态框,它在单击同一页面上的按钮时出现,并带有以下标记

@section('popups')
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
          <input type="text" name="name">
      </div>
        <a href="#" id="add">Submit</a>
      <div class="modal-footer">
        <button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" name="add" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>


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


        $('.add').click(function(e){
           e.preventDefault(); 

           var name=$(this).find('input[name=name]').val();

           //post Ajax
           $.post('/repository', {name:name}, function(data){
              console.log(data);
           });
        });


    });
</script>

@stop

现在,我似乎无法在控制台中获取数据。将数据发送到数据库的最佳方式是什么?如果验证出现错误,如何在模型本身中显示?

【问题讨论】:

  • 请注意 - 你不需要用斜线声明你的路线:Route::get('repository'...Route::post('repository',... 就足够了
  • 好的。感谢那。对这里的问题有任何想法吗?
  • 它看起来应该可以工作.. 你加载 jquery 好吗?
  • 是的,它加载得很好。否则弹出窗口将不起作用。对
  • 对!我刚刚测试了你的代码,它在这里工作......愚蠢的问题,但控制台中没有错误?你能在你的网络服务器日志中看到请求吗?

标签: jquery ajax laravel laravel-4


【解决方案1】:

更新你的 jQuery 选择器:

$(document).ready(function(){

    $('#add').click(function(e){ // id=add
       e.preventDefault(); 

       var name=$(this).find('input[name=name]').val();

       //post Ajax
       $.post('/repository', {name:name}, function(data){
          console.log(data);
       });
    });
});

您正在原始代码中寻找一个类,而锚点有一个 id! :)

【讨论】:

  • 哦,是的!傻我。另外,如何在模型中验证这些字段?就像正常程序一样?它会显示模型本身的错误吗?
  • 如果我理解正确,您将不得不使用 JS 更新您的模态,但如果您遇到困难,最好尝试一下并提出一个新问题!祝你好运! :)
  • 当然。再次感谢:)
猜你喜欢
  • 2014-03-01
  • 2015-09-08
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
相关资源
最近更新 更多