2017-08-08 62 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