2017-06-02 88 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」 > <! - 正常的東西在這裏 - > –