2017-07-31 26 views
0

我試圖通過ajax傳遞一些數據,但不工作。Ajax正在傳遞URL中的數據,並且不起作用

我這樣做,它的作品,我認爲這是關於緩存的東西。

我有這樣的看法:

@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 id="listall"> <!-- DIV TO LIST ALL THE PROJECTS START HERE --> 
     <div class="col-md-2" style="padding:20px;"> 
      <button type="button" id="buttoncreate" class="btn btn-danger">Crear Proyecto</button> 

     </div> 
         <table class="table"> 
        <thead style="color:white"> 
        <tr> 
         <th>Id</th> 
         <th>Slug</th> 
         <th>Order</th> 
         <th>Public</th> 
         <th>Fecha creación</th> 
         <th>Fecha ultima actualización</th> 
         <th><span class="glyphicon glyphicon-cog"></span></th> 
        </tr> 
        </thead> 
        <tbody style="color:white"> 
        @foreach ($projects as $key => $project) 
        <tr> 
         <th>{{$project->id}}</th> 
         <td>{{$project->slug}}</td> 
         <td>{{$project->order}}</td> 
         <td>{{$project->public}}</td> 
         <td>{{ date('M j, Y', strtotime($project->created_at))}}</td> 
         <td>{{ date('M j, Y', strtotime($project->updated_at))}}</td> 
         <td><a href="{{ route('admin.projects.show', $project->id)}}" class="btn btn-info btn-sm">View</a> <a href="{{ route('admin.project.edit', $project->id)}}" class="btn btn-success btn-sm">Edit</a> 
        @endforeach 
        </tr> 
        </tbody> 
       </table> 
    <br><br> 
</div> <!-- DIV TO LIST ALL THE PROJECTS END HERE --> 

<div id="form1" style="display:none;" class="col-md-8"> <!-- DIV TO SHOW THE CREATE PROJECT FORM 1 START HERE--> 
    <div> 
    <h3>Crear nuevo proyecto</h3> 
    </div> 
    <div id="formcreateproject"> 
     <form enctype="multipart/form-data" id="myForm" name="myForm"> 
     <input type="hidden" name="_token" value="{{ Session::token() }}"> 

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

      </div> 
     </form> 

     </div> 
</div> <!-- DIV TO SHOW THE CREATE PROJECT FORM 1 END HERE--> 

<div id="form2" style="display:none;" class="col-md-6"> 
    <div class="col-md-"> 
     <h3>Crear nueva traduccion</h3> 
     <form enctype="multipart/form-data" id="myFormTraduccion" name="myFormTraduccion"><!--FIRST FORM TO TRANSLATE --> 
     <input type="hidden" name="_token" value="{{ Session::token() }}"> 
      <div class="form-group"> 
       <label name="Language">Language:</label> 
       <input type="text" id="locale" name="locale" value="en" disabled class="form-control form-control-sm"> 
       <label name="Project">Project id:</label> 
       <input type="number" id="project" name="project" class="form-control form-control-sm"> 
       <label name="Title">Title:</label> 
       <input type="text" id="title" name="title" class="form-control form-control-sm"> 
       <label name="Caption">Caption:</label> 
       <input type="text" id="caption" name="caption" class="form-control form-control-sm"><br> 
       <input type="submit" value="Crear Traduccion" id="createtranslatesubmit" class="btn btn-danger btn-md"> 
       <br><br><br> 

      </div> 
      </form> <!-- FIRST FORM TO TRANSLATE END HERE --> 
      <form enctype="multipart/form-data" id="myFormTraduccion2" name="myFormTraduccion2"> <!--SECOND FORM TO TRANSLATE --> 
      <input type="hidden" name="_token" value="{{ Session::token() }}"> 
      <div class="form-group"> 
       <label name="title">Language:</label> 
       <input type="text" id="locale" name="locale" value="es" disabled class="form-control form-control-sm"> 
       <label name="order">Project id:</label> 
       <input type="number" id="project" name="project" class="form-control form-control-sm"> 
       <label name="public">Title:</label> 
       <input type="text" id="title" name="title" class="form-control form-control-sm"> 
       <label name="caption">Caption:</label> 
       <input type="text" id="caption" name="caption" class="form-control form-control-sm"><br> 
       <input type="submit" value="Crear Traduccion" id="createtranslatesubmit2" class="btn btn-danger btn-md"> 
       <br><br><br> 

      </div> 
      </form> <!--SECOND FORM TO TRANSLATE END HERE --> 
    </div> 
</div> 
@stop 

事業部與ID = 「形式」作品。

當我嘗試創建翻譯不要給我任何錯誤,但不能正常工作。您可以看到提交按鈕的ID爲createtranslates提交和窗體的ID是myFormTradducion。 這裏我把Ajax代碼:

//Javascript view /projects/menu.blade.php 
$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 
$(document).ready(function(){ 
    $("#buttoncreate").click(function(){ 
     $("#listall").hide(); 
     $("#form1").fadeIn(1000); 

    }); 

    $("#createprojectsubmit").click(function(){ 
     $("#myForm").submit(); 
    }); 

    $("#myForm").submit(function(e){ 
     e.preventDefault(); 
     var formData = new FormData($(this)[0]); 
     $.ajax({ 
      url:'/admin/projects/postUpload', 
      type:'POST', 
      data: formData, 
      success: function(){ 
       $("#form1").fadeOut(1000); 
       $("#form2").fadeIn(1000); 
       $("#form3").fadeIn(1000); 

      }, 
      cache: false, 
      contentType: false, 
      processData: false 
     }); 
     return false; 
    }); 

    $("#createtranslatesubmit").click(function(){ 
     $("#myFormTraduccion").submit(); 
    }); 

    $("myFormTraduccion").submit(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
      url:'/admin/projects/postUploadTranslation', 
      type:'post', 
      data:$('#myFormTraduccion').serializeArray(), 
      success: function(){ 
       $("#form2").fadeOut(1000); 
      } 
     }); 
    }); 

}); 

路線是這樣的:

控制器是在一個文件夾,名爲網絡,控制器看起來像在這裏:

use App\Models\ProjectTranslation; 
class ProjectsTranslationController extends Controller 
{ 
     public function storeTranslation(Request $request) 
     { 
     $projecttranslation = new ProjectTranslation(); 
     $projecttranslation->locale = $request->input("locale"); 
     $projecttranslation->project_id = $request->input("project"); 
     $projecttranslation->title = $request->input("title"); 
     $projecttranslation->caption = $request->input("caption"); 
     $projecttranslation->save(); 
     } 
} 

所以,當我點擊關於提交的ID createtranslates提交網址更改,看起來像這樣:

http://test.loc/admin/projects?_token=ymzuWLO6I0nl7z5CQEriftjP1swWmH&project=40&title=1&caption=1

知道什麼是錯?

如果需要更多信息,請詢問。

非常感謝

+0

如果您通過郵遞員發佈郵件,您是否可以轉儲數據?或者有什麼錯誤? – Bas

+0

@Bas解決了!不管怎麼說,還是要謝謝你! –

回答

1

我想你忘記了#

$("myFormTraduccion").submit(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     url:'/admin/projects/postUploadTranslation', 
     type:'post', 
     data:$('#myFormTraduccion').serializeArray(), 
     success: function(){ 
      $("#form2").fadeOut(1000); 
     } 
    }); 
}); 

更新代碼:

$("#myFormTraduccion").submit(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     url:'/admin/projects/postUploadTranslation', 
     type:'post', 
     data:$('#myFormTraduccion').serializeArray(), 
     success: function(){ 
      $("#form2").fadeOut(1000); 
     } 
    }); 
}); 
+0

謝謝隊友!這解決了問題! –

0

嘗試通過以下命令在項目文件夾清空緩存

php artisan cache:clear 

然後請再次嘗試

+0

解決,謝謝! –