我已经做了大量的研究并且继续围成一圈。我创建了一个拍卖应用程序,需要“实时出价”过程:
所以我需要能够执行GET语句来查找当前的最高出价(这需要一些验证) 然后我需要执行POST语句(再次执行验证)
难点:
我找不到定期更新当前出价的解决方案。即每隔3-5秒检查一次投标是否正确或只是更新它
有很多相互矛盾的信息,作为PHP和Laravel的新手,我真的被卡住了。我确实很欣赏其他类似问题,但没有充分解释所需要的内容或进入所需的详细程度。所以我开始认为jQuery / AJAX不是完成这项任务的正确行动。
Main.js(加载在所有php文件的标题中)
var delay = 5000;
var getCurrentHighestBid = function() {
// perform validation here, if necessary
var url = '/items'; // insert your URL here
$.get(url, null, handleGetCurrentHighestBidResponse);
};
var handleGetCurrentHighestBidResponse = function(response) {
// check for nulls in response here, handle exceptions, etc
// then insert your bid data into the DOM, which may look
// something like:
$('.winner').html(response.Html);
setTimeout(getCurrentHighestBid , delay);
};
itemController.php(摘录)
public function show($id)
{
$item = Item::find($id);
//find higest bid fo item_auction id
$winningBid = Item::find($id)->bids()->max('bid_amount');
//var_dump($item);
return View::make('items.show', compact('item', 'winningBid'));
}
show.blade.php(view)(snippet)
<h4 id="winner">{{$winningBid }}</h4>
答案 0 :(得分:1)
这是javascript / jQuery的理想候选者。
编辑:我已经将代码更新为更简单,更健壮。 GET函数从响应中调用(在延迟时),它也处理来自服务器的延迟。基本上是这样的:
GET可能看起来像这样(需要jQuery):
var delay = 5000;
var getCurrentHighestBid = function() {
// perform validation here, if necessary
var url = ''; // insert your URL here
$.get(url, null, handleGetCurrentHighestBidResponse);
};
var handleGetCurrentHighestBidResponse = function(response) {
// check for nulls in response here, handle exceptions, etc
// then insert your bid data into the DOM, which may look
// something like:
$('.bid-details').html(response.Html);
setTimeout(getCurrentHighestBid, delay);
};