Javascript未捕获类型错误:showcreate1不是函数

Javascript未捕获类型错误:showcreate1不是函数,javascript,jquery,ajax,Javascript,Jquery,Ajax,在写这个问题之前,我阅读了其他问题,但没有任何效果,我检查javascript是否已加载,我尝试使用jquery,其中我使用了$,但没有任何效果 我的问题是ajax不起作用,错误是标题问题 我有一些视图,menu.blade.php代码: @extends('cms.public.layouts.default') @section('content') <div class="col-md-10"> <h3 style="letter-spacing:40px;te

在写这个问题之前,我阅读了其他问题,但没有任何效果,我检查javascript是否已加载,我尝试使用jquery,其中我使用了$,但没有任何效果

我的问题是ajax不起作用,错误是标题问题

我有一些视图,menu.blade.php代码:

@extends('cms.public.layouts.default')
@section('content')

<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>

<script>

$(document).ready(function(){
      listProject();
      $("#buttoncreate").click(function(e){
        $("#buttoncreate").remove();
        e.preventDefault();
        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>
@stop
@extends('cms.public.layouts.default'))
@节(“内容”)
PROYECTOS
克雷尔项目
$(文档).ready(函数(){
listProject();
$(“#按钮创建”)。单击(函数(e){
$(“#按钮创建”).remove();
e、 预防默认值();
listUploadProject();
});
});
var listProject=函数()
{
$.ajax({
类型:'get',
url:“{url('admin/project/listall')}}”,
成功:功能(数据){
$('#ajaxwindow').empty().html(数据);
}
});
}
var listUploadProject=function()
{
$.ajax({
类型:'get',
url:“{url('admin/project/create')}}”,
成功:功能(数据){
$('#ajaxwindow').empty().html(数据);
}
});
}
@停止
在这个视图中,我使用ajax并正在工作,它显示了这个视图(listall.blade.php):


身份证件
鼻涕虫
顺序
平民的
路径头
回家的路
费查·克雷西翁
费查·乌尔蒂玛·扎西翁
@foreach($key=>$project的项目)
{{$project->id}
{{$project->slug}
{{$project->order}
{{$project->public}
{{$project->pathheader}
{{$project->pathhome}
{{date('mj,Y',strottime($project->created_at))}
{{date('mj,Y',strottime($project->updated_at))}
@endforeach


如果我点击create按钮,他会进入这个视图(createproject.blade.php):





$(文档).ready(函数(){ showcreate1(); }); var showcreate1=函数() { $.ajax({ 类型:'get', url:“{url('admin/project/createform1')}}”, 成功:功能(数据){ $('#createproject').empty().html(数据); } }); }
控制器调用url“/admin/project/createform1”:

 public function CreateProjectForm1()
   {
       return view('cms.public.views.projects.createprojectform1');
   } 




 <div class="col-md-10">
        <h3>Crear nuevo proyecto</h3>
        </div>
        <div class="col-md-2">
        <h3>1/2</h3>
        </div>
        <hr>


        <div class="col-md-12" id="formcreateproject">

            <form method="POST" action="{{ route('admin.projects.store') }}" enctype="multipart/form-data">
              <div class="form-group">
                <label name="title">Slug:</label>
                <input type="text" id="slug" name="slug" placeholder="ejemplo-de-slug" class="form-control form-control-sm">
                <label name="order">Order:</label>
                <input type="number" id="order" name="order" class="form-control form-control-sm">
                <label name="public">Public:</label>
                <input type="number" id="public" name="public" class="form-control form-control-sm">
                 <label name="body">Header</label>
                <input type="file" name="pathheader" id="pathheader"  class="form-control-file" aria-describedby="fileHelp"><br>
                <label name="body">Home</label>
                <input type="file" name="pathhome" id="pathhome" class="form-control-file" aria-describedby="fileHelp"><br>

                <input type="submit" value="Crear Proyecto" id="createprojectsubmit" class="btn btn-danger btn-md">
                <input type="hidden" name="_token" value="{{ Session::token() }}">
                <br><br><br>

              </div>
            </form>

          </div>
公共函数CreateProjectForm1()
{
返回视图('cms.public.views.projects.createprojectform1');
} 
Crear nuevo项目
1/2

鼻涕虫: 订单: 公众: 标题




为什么没有加载最后一个视图


非常感谢,任何帮助都将不胜感激。

showcreate1不是一个函数,因为您在定义它之前调用它。 将
var showcreate1=function(){}
更改为
function showcreate1(){}
或将文档就绪代码移到函数定义下方

试试这个

showcreate1 = function()
      {
        $.ajax({
          type:'get',
          url:"{{ url('admin/project/createform1') }}",
          success: function(data){
            $('#createproject').empty().html(data);
          }
        });
      }
没有var。使用var声明它将限制它的范围。删除var将使其成为一个全局函数,可以在页面中的任何位置访问,也可以这样做

$(document).ready(function(){

      var showcreate1 = function()
      {
        $.ajax({
          type:'get',
          url:"{{ url('admin/project/createform1') }}",
          success: function(data){
            $('#createproject').empty().html(data);
          }
        });
      }
        showcreate1();
    });

在javascript中,您可以在代码中声明函数之前使用函数是,使用函数声明,而不是函数表达式.true。函数表达式不会被提升,因此它们在代码中出现之前无法使用,而不会出现错误更改,现在显示Retron Create1未声明第二个选项成功,可能渲染视图而函数未加载?或者为什么,如果您首先声明函数,它会工作?声明中的“var”实际上使它成为一个局部变量,您的用法无法访问它,它位于一个函数中,该函数将在页面准备就绪时执行。如果答案正确,请标出:D
showcreate1 = function()
      {
        $.ajax({
          type:'get',
          url:"{{ url('admin/project/createform1') }}",
          success: function(data){
            $('#createproject').empty().html(data);
          }
        });
      }
$(document).ready(function(){

      var showcreate1 = function()
      {
        $.ajax({
          type:'get',
          url:"{{ url('admin/project/createform1') }}",
          success: function(data){
            $('#createproject').empty().html(data);
          }
        });
      }
        showcreate1();
    });