我试图在单击后使用 ajax 调用在 javascript 中调用控制器函数的路由(在 Laravel 4 中)将条目存储在数据库中。
我有一个由“ArtistsController”控制的资源“艺术家”。我正在调用的视图在“艺术家”目录中称为“show.blade.php”(即该页面显示不同的艺术家:艺术家/1、艺术家/2 等...)。
我还有一个名为“fanartists”的表,我想在其中存储这些数据。基本上,当用户单击特定艺术家页面上的按钮时,我希望将关系存储在此表中。
以下是相关代码:
show.blade.php:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '*****************',
status : true,
cookie : true,
oauth : true
//xfbml : true
});
$( '.opener' ).click(function() {
FB.ui({
method: 'feed',
link: 'http://crowdtest.dev:8888/artists/',
name: 'Hello',
caption: 'Hello',
description: 'Hello!'
});
request = $.ajax({
url: "/artists/fbclick",
type: "post",
data: serialised data
});
});
};
</script>
<a class="add-list-button-no-margin opener" style="color: white; font:14px / 14px 'DINMedium','Helvetica Neue',Helvetica,Arial,sans-serif;">Play my city</a>
艺术家控制器:
public function fbclick($id) {
$artist = Artist::find($id);
$fanartist = new Fanartist;
$fanartist->artist_id = $artist->id; //the id of the current artist page (i.e. artists/1, id=1)
$fanartist->fan_id = Auth::user()->id;
$fanartist->save();
}
路线:
Route::get('/artists/fbclick', array('uses' => 'ArtistsController@fbclick'));
当我包含 ajax 请求时,FB 提要不会弹出。当我删除它时,它确实如此。此外,它并没有像我想要的那样将数据存储在数据库中。
你看这里有什么不对吗?非常感谢您的帮助。谢谢你。