2017-06-02 89 views
0

我在我的服务器上创建了一个ajax.php文件,并使用jquery使用ajax将id发送到该文件。laravel在laravel中发送ajax后在自定义文件中查询?

我想在该ajax.php文件中运行db查询来获得结果。

我无法做到这一点。

你能帮我吗。

jQuery代码:

$('.invitebyemail').click(function(){ 
    var email = $('#add-members-event-email').val(); 
    var eventid = $('.eventid').val(); 
    var pathname = window.location.pathname; // Returns path only 
    var url  = window.location.href;  // Returns full URL 
    var APP_URL = {!! json_encode(url('/')) !!}; 
    alert(APP_URL); 
    alert(url); 
    $.ajax({ 
     url: APP_URL+'/ajax.php', 
     type: 'POST',  
     data: { id: eventid }, 
     success: function (data) { 
      alert(data); 
     }, 
     error: function() { 
      alert('error'); 
     } 
    }); 
    return false; 
}); 

阿贾克斯文件代码:

use DB; 
$eventid = $_POST['id']; 
echo $eventid; 
$users = DB::table('users')->get(); 
print_r($users); 

感谢

+0

什么是您保存ajax.php的路径? –

+0

该文件在公共文件夹中。@SérgioReis,ajax文件工作正常,但我试图在其中使用sql查询。 –

回答

1

如果您使用laravel我不相信的,使用PHP文件,这样会正确的做法......它并不真正遵循MVC模式。

我建议创建一个控制器上的php artisan make:controller MyController 控制器

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Validator; 
use Session; 
use Auth; 
use Response; 
use DB; 
use App\User; 

class MyController extends Controller{ 
    public function getUsers(Request $request){ 
    $users = DB::table('users')->get(); 
    // If you need access to request parameters use this ($request->id) being id the parameter name 
    return response()->json(["users" =>$users]); 
    } 

} 

在ProjectFolder创建路由上创建一个功能,因为这/路由/ web.php这样

Route::post('/getUsersAjax',[ 
    'uses'=>'[email protected]', 
    'as'=>'getUsers' 
]); 

而在你的jQuery不要忘记将_token添加到您的数据中data: { id: eventid , _token : token}, (如果您需要此令牌,您可以在.blade.php文件中查看您的视图,使其成为

<script> 
    var token = "{{Session::token()}}"; 
    var urlRequest = "{{route('getUsers')}}"; 
</script> 

https://laravel.com/docs/5.4/controllers

https://laravel.com/docs/5.4/routing

+1

谢谢,我也在尝试这种方式。但是我被卡住了,所以我想用另一种方式获得结果。任何方式感谢您的帮助。 –

+0

你能帮我在这里吗?我想将表单提交给usercontroller文件并调用函数invitebyemail。 当我点击提交时,它给我错误,如“哎呀,看起来像出了什么问题。” 下面是我的文件和代码的结构。 路由文件: Route :: POST('event/inviteforevent','UserController @ invitebyemail'); 刀片。php文件 {{Form :: open(array('url'=>'event/inviteforevent'))}} \t \t {{Form :: close()}} –

+0

不是真正用于表单,但如果我这样做,我的表单将会是这样的, (命名为route Route :: post('/ event/inviteforevent'', [ '使用'=> 'myController的@ invitebyemail', '作为'=> 'invitebyemail' ]); ) <形式行动= “{{路线( 'invitebyemail')}}方法=” POST” > <! - 正常的东西在这里 - > –