2017-08-08 64 views
1

我試圖做出與此路由laravel控制裝置的呼叫:500,錯誤,內部服務器錯誤阿賈克斯laravel控制器

Route::post('obtenerNodos', '[email protected]'); 

,但我只是得到:500 , error, Internal Server Error

$.ajax({   
    url: "obtenerNodos", 
    data: { id: '1' }, 
    method: 'post', 
    success: function() { 
     console.log("done"); 
     //do something 
    },error: function(xhr, ajaxOptions, thrownError){ 
     console.log(xhr.status+" ,"+" "+ajaxOptions+", "+thrownError); 
    } 

}); 

這是控制器:

namespace App\Http\Controllers; 

use GuzzleHttp\Client; use Illuminate\Http\Request; 

class panelController extends Controller { 
    public function viewpanel(){ 
     return view('admin.panel'); 
    } 

    public function viewstats(){ 
     return view('admin.estadisticas'); 
    } 

    public function viewfacs(){ 
     $client = new Client();   
     $res = $client->get('http://smartbill.co:332/SmartBill2/rest/factura/get?codigo=FA001100x01&token=fd25834e78c7c4f806e9e56b307d16c18a847197'); 
     $respuesta = json_decode($res->getBody()->getContents(),true); 
     return view('admin.factura_add')->with('facturas', $respuesta); 
    } 

    public function viewfacsreg(){ 
     return view('admin.factura_reg'); 
    } 

    public function cerrarSesion(){ 
     //matar sesion antes de hacer la redirreccion 
     return view('welcome'); 
    } 

    public function obtenerNodos($id){ 
     $id = Input::get("id"); 
     return "done"; 
    } 
} 

這是完整的錯誤:

POST http://binario.com/obtenerNodos 500 (Internal Server Error) send @ jquery.min.js:6 ajax @ jquery.min.js:6 (anonymous) @ viewfacsreg:199

+0

你可以分享'obtenerNodos()'從代碼的控制器? – yoeunes

+0

也可以共享堆棧跟蹤誤差 – yoeunes

+0

@yoeunes已編輯的職位 –

回答

1

保持你的路線是這樣的:

Route::post('obtenerNodos', '[email protected]'); 

改變你的obtenerNodos()功能如下:

public function obtenerNodos(Request $request){ 

    $id = $request->id; 

    return "done"; 
} 

,不要忘記在頂部導入此:use Illuminate\Http\Request;

添加這個爲jQuery中的所有ajax請求設置默認值的JavaScript。最好在包含在你的應用程序一個js文件:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}) 

確保你有一個這樣的元標記您的刀片頁:

<meta name="csrf-token" content="{{ csrf_token() }}"> 
+0

已經取得你說,但現在我得到這個錯誤: POST http://binario.com/obtenerNodos 404(未找到) 發送@ jquery.min.js:6個 AJAX @ jquery.min.js:6 (匿名)@ viewfacsreg:199 –

+0

http://i943.photobucket.com/albums/ad274/Carlos_Jaramillo_Corrales/Sin%20ttulo_zpsncl3hake.png –

+0

@CarlosJaramilloCorrales看看我更新的答案,現在它應該工作 – yoeunes