Javascript未捕获类型错误:showcreate1不是函数
在写这个问题之前,我阅读了其他问题,但没有任何效果,我检查javascript是否已加载,我尝试使用jquery,其中我使用了$,但没有任何效果 我的问题是ajax不起作用,错误是标题问题 我有一些视图,menu.blade.php代码: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
@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();
});