2017-02-25 3 views
0

私はvue jsとlaravelを使ってdeleteメソッドを作成しています。私はhref属性にlaravelリソースを使用して値を追加しようとしましたが、idを2番目のパラメータとして渡しましたが、それをクリックしてコンソールにIDを表示すると、すべてのデータに同じIDが表示されます。laravelとvue jsを使ってレコードを削除する

サンプルブレード:

<a id="deleteRecord" data-id="{{$project->id}}" @click.prevent="deleteRecord" class="btn btn-circle btn-icon-only btn-danger" href="{{ route('projects.store', $project->id) }}"> 
    <i class="icon-trash"></i> 
</a> 

Vueの方法:あなたの方法deleteRecordの内部

deleteRecord: function(id) { 
    var dataId = $('#deleteRecord').attr('href') 
    console.log(dataId); 
} 
+0

Laravelリソースは、DELETEメソッドでのみ削除されます。 'axios'を使って' DELETE'クエリを送る必要があります。 – EddyTheDove

+0

@EddyTheDove、そうだけど、これはvueを使って行うことができ、いくつかのクールな確認モーダルなどを表示することができます。 – claudios

+0

もちろん。 'axios'は' Vue'メソッドの内部にあります。それは斧である必要はありません。すべてのhttpクライアントが実行できます。 – EddyTheDove

答えて

0

this.$http.delete(url) 
.success(function(response) { 
    console.log(response) 
}) 
.error(function(errors) { 
    console.log(error) 
}); 

またはあなたの方法

axios.delete(url) 
.then(function (response) { 
    console.log(response); 
}) 
.catch(function (error) { 
    console.log(error); 
}); 
の内部axiosを使用して
+0

'不定期のプロパティ 'を削除できません' – claudios

+0

' npm install --save axios'でAxiosを手動で追加して、あなたのVuejsにそれを必要とする必要があります。 'axios'はJSライブラリです。 – EddyTheDove

+0

私は頑張ってみましたが、同じエラーはありませんでした。 – claudios

0

今すぐ取得します。私はちょうど他人を助けるためにここにそれを掲示するでしょう。

deleteRecord: function(id) { 
    var url = "projects" + "/" + id; 
    $.ajax({ 
     url: url, 
     type: 'DELETE', 
     data: { "_token": "{{ csrf_token() }}" }, 
     success: function(response) { 
      //do some success stuff here.. 
     } 
    }); 
} 
関連する問題