2017-01-23 21 views
0

Ajaxへの '.get'リクエストのデータを含むViewコードがあります。 .getリクエストは、いくつかのPHPコードをコントローラに渡し、クエリから結果を取得し、JSオブジェクト 'bookingObj'に格納します。laravelブレードルート内のJavaScript変数の使用

問題は、クエリによって取得され、このオブジェクト内の別のlaravel関数 'edit'へのルートのパラメータとして格納されている一部のIDを使用したいと考えています。現時点では、これらの変数をブレードヘルパー関数に連結しようとすると、実際の値は取得されず、そのまま変数名になります。例えば

、この私のコードでは:私は場所に(データベースからIDS)整数値を確認するために期待していたクロムインスペクタ

<a href="http://localhost/laravel/bookings/ + bookingObj.id + /edit/ + bookingObj.tour_id +/+ bookingObj.datedtour_id + ">Edit</a> 

<a href="{{ route("bookings.edit", [' + bookingObj.id + ',' + bookingObj.tour_id + ',' + bookingObj.datedtour_id + ']) }}"> 

//戻り、これを'bookingObj'プロパティの

これを表示するために変換関数を使用する必要があるかどうかは誰でも知っていますか、問題の内容を説明してもらえますか?

多くのありがとうございます!ここで

は、私のコードの残りの部分である:

$.get(url + variable, function(data){ 

        console.log('Call complete'); 

        //success data 

        $('tr#bookingstable').remove(); 

        $.each(data, function(index, bookingObj){ 
         var startdate = new Date(bookingObj.datedtourstartdate.replace(/-/g,"/")); 
         var enddate = new Date(bookingObj.datedtourenddate.replace(/-/g,"/")); 

         $('table').append(
          '<tr id="bookingstable"><td scope="row"><a href="{{ route("bookings.show", $booking->id) }}">' + bookingObj.name + '</a></td><td scope="row">' + bookingObj.size + '</td><td scope="row">' + bookingObj.tour_name + '</td><td scope="row">' + bookingObj.category_name + '</td><td scope="row">' + bookingObj.continent_name + '</td><td scope="row">' + dateFormat(startdate, "dd.mm.yyyy") + '&nbsp; - &nbsp;' + dateFormat(enddate, "dd.mm.yyyy") + '</td><td scope="row"><li class="tiny success button"><a href="{{ route("bookings.edit", [' + bookingObj.id + ',' + bookingObj.tour_id + ',' + bookingObj.datedtour_id + ']) }}">Edit</a></li></td><td scope="row"><form method="post" name="_token" value="<?php echo csrf_token(); ?>" action="{{ route("bookings.destroy", ["id" => $booking->id]) }}">{!! csrf_field() !!}<input type="hidden" name="_method" value="DELETE"><input type="hidden" name="booking_id" value="{!! $booking->id !!}"><input type="submit" class="tiny alert button" value="Delete"></form></td></tr>' 
         ); // end append 

        }); // end each 

       }); // end get 

おかげで、

よろしく、

ロバート

ロンドン、英国

+0

一般的に言えば、このようなものは、ブレードテンプレートでルートをハードコードする方が簡単です。 – Samsquanch

+0

私はこの問題の解決策をhttp://stackoverflow.com/questions/27634285/laravel-4-pass-a-variable-to-route-in-javascriptで見つけました。最高のお礼 –

答えて

0

ここで問題があることがPHPでありますサーバーの応答とともにレンダリングされて送信されます。これは、JavaScriptについて何も知らないことを意味します。

クライアントサイドで機能を置き換えることを目的とするパッケージがあります。また、独自のヘルパー機能を使って解決することもできます。

しかし、この正確なエミュレーションを実現することはできません。

+0

は@ Francisco Fernandes –

+0

@IstiaqueAhmed私の第2段落は本質的にその事実に対処しています。 – Ohgodwhy

+0

「あなたはこの正確なエミュレーションを実現することができません。残念なことに」 - どういう意味ですか? –

関連する問題