Ajax不起作用

时间:2017-07-27 09:16:55

标签: javascript jquery ajax

我试图用ajax做请求但是没有工作。控制器具有正确的代码,因为如果我使用ajax它们工作得很好。

意见如下:



    
    $(document).ready(function(){
      listProject();
      $("#buttoncreate").click(function(e)){
        e.listUploadProject();
      });
    });
    
      var listProject = function()
      {
        $.ajax({
          type:'get',
          url:'{{ url('admin/project/listall') }}',
          success: function(data){
            $('#ajaxwindow').empty().html(data);
          }
        });
      }
      var listUploadProject = function()
     {
       $.ajax({
         type:'get',
         url:'{{ url('admin/project/create') }}',
         success: function(data){
           $('#ajaxwindow').empty().html(data);
         }
       });
     } 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="col-md-10">
        <h3 style="letter-spacing:40px;text-align:center;color:f15d5e;">PROYECTOS</h3>
    </div>
    <div class="col-md-2" style="padding:20px;">
      <button type="button" id="buttoncreate" class="btn btn-danger">Crear Proyecto</button>
    
    </div>
    <div class="col-md-12" id="ajaxwindow">
    
    </div>
&#13;
&#13;
&#13;

如果我只有:

$(document).ready(function(){
      listProject();
    });

工作正常。

问题出在哪里?谢谢!

编辑:

  $(document).ready(function(){
      listProject();
      $("#buttoncreate").click(function(e){
        e.preventDefault();
        e.listUploadProject();
      });
    });

      var listProject = function()
      {
        $.ajax({
          type:'get',
          url:"{{ url('admin/project/listall') }}",
          success: function(data){
            $('#ajaxwindow').empty().html(data);
          }
        });
      }
      var listUploadProject = function()
     {
       $.ajax({
         type:'get',
         url:"{{ url('admin/project/create') }}",
         success: function(data){
           $('#ajaxwindow').empty().html(data);
         }
       });
     }

当我点击按钮并尝试执行该功能时,请给我这个错误:

Uncaught TypeError: e.listUploadProject is not a function
    at HTMLButtonElement.<anonymous> (projects:217)
    at HTMLButtonElement.dispatch (jquery.js:4737)
    at HTMLButtonElement.elemData.handle (jquery.js:4549)

对listUploadProject的调用可能有问题吗?谢谢!

2 个答案:

答案 0 :(得分:3)

这是因为你过早地关闭了你的报价。使用反斜杠(\

转义它们 像这样:

url: '{{url(\'admin/project/create\')}}'

或者你可以混淆引号:

url: "{{url('admin/project/create')}}"

更新1

回答最后一个错误:

将功能更改为

$("#buttoncreate").click(function()
{
    listUploadProject();
});

这将在点击时运行该功能。

答案 1 :(得分:0)

而不是代码:

$("#buttoncreate").click(function(e)){
    e.listUploadProject();
  });

试试这个:

$("#buttoncreate").click(function(e)){
    e.preventDefault();
    listUploadProject();
  });

点击控制台时一定会出现一些错误。