2017-06-02 8 views
0

私は自分のサーバーにajax.phpファイルを作成し、jqueryでajaxを使ってidをファイルに送りました。laravelでajaxを送信した後、カスタムファイルのlaravelクエリ?

結果を得るために、その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; 
}); 

Ajaxのファイルコード:

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のパターンに実際に従っているわけではありません。

私はコントローラこの

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

そして、あなたのjqueryのようProjectFolder /路線/ web.phpでルートを作成

<?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]); 
    } 

} 

にこのとしての機能を作成するのcontroler php artisan make:controller MyController を作成するお勧め_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ファイル {{フォーム::オープン(配列( 'URL' => 'イベント/ inviteforevent'))}} \t <入力タイプ= "送信" 名前= "INVITE" 値= /> \tを "送信" –

+0

フォームの使用にはあまり使われていませんが、もし私がこれをしていたら、私のフォームは という名前になります(ルート という名前のRoute :: post( '/ event/inviteforevent' )[ は=> => 'invitebyemail' 'と' 'MyController @ invitebyemail' '使用']; )

<! - 通常のものはこちら - >