我一直遇到一个很烦人的错误,但由于这不是你完全理解代码就能修复的问题,我一直犹豫是否要在这里发布。但这是一个非常奇怪的错误,让我无法理解。我会尽力解释我正在做什么。我需要进行头脑风暴,也许想出可能出现这种情况的原因。任何帮助都将不胜感激!所以,开始吧。
我有一个每2秒调用一次的javascript函数。该javascript函数发起一个ajax调用,发送一个不断变化的值(例如视频的查找时间),如下所示:
function startCron()
{
window.setInterval(function()
{
//Get all the variables, etc. etc.
$.ajax({
type: 'GET',
url: 'updateDetails',
data:
{
'seekTime': upSeekTime
},
success: function(updates)
{
alert(updates);
}
});
}
}, 2000);
}
现在这个函数工作得很好!它每2秒被调用一次,发送正确的值,并返回并执行成功函数。
现在,我的“updateDetails”URL调用的函数基本上有一系列的文件操作。它涉及到打开一个文件、存储、打开几个其他文件,最后打开一个最后的文件,存储其中并返回刚才存储的内容。我知道,听起来相当混乱,有些人可能认为这是低效的,但请耐心等待解释。
//First file get and put process
$updatedSeekTime = round(Input::get('seekTime'));
$currentDetails = Storage::get("fileone");
list($fileID, $fileStatus, $fileSeekTime) = explode(",", $currentDetails, 3);
$storeMe = array(
"user_id" => $user_id,
"status" => $fileStatus,
"seek_time" => $updatedSeekTime
);
$storeMe = implode(",", $storeMe);
Storage::disk('local')->put($user_id, $storeMe);
//Now for the second file retrieving process
for($i=1;$i<=2;$i++) //Yes, 1 and 2 are file names.
{
$currentDetails = Storage::get($i);
list($fileID, $fileStatus, $fileSeekTime) = explode(",", $currentDetails, 3);
$allSeekKebabs[] = $fileSeekTime;
}
//Now I find all the minimum value from my array
$minSeekVal = min($allSeekKebabs);
//And the final file put process
$storeMe = array(
"user_id" => $user_id,
"status" => $fileStatus,
"seek_time" => $minSeekVal
);
$storeMe = implode(",", $storeMe);
//return $storeMe; //OKAY ATTENTION POINT 1
Storage::disk('local')->put($user_id, $storeMe); //PROBLEM POINT
//return $storeMe; //OKAY ATTENTION POINT 2
现在,如果你已经看到这里了,那么请接受我的饼干,因为我并没有想到大多数人会读完我的代码。好的,现在,以下是真正奇怪的部分。注意点1给了我所有正确的东西。但是,如果我在存储行之后立即返回相同的变量,就像在注意点2中一样,文件只会将0作为最后一个变量(根据最后一个storeMe数组的seek_time)存储。该数组中的每个其他变量都正确。而且,在storeMe中的seek_time的值在那个可恶的存储行之前是正确的。之后,最后一个变量变成了0。所以,在我看来,存储行正在改变我的变量!听起来很疯狂,对吧?我已经思考了很长时间了。
我已经检查了那个问题点之前的每一行,并且一切都很好。但是那行可恶的代码搞砸了一切,我就是想不通为什么。我的路由文件也没问题!
任何帮助都将非常感激。你可以看到这个问题让我多么沮丧。我只想问一下,我是否遗漏了技术上的某些细节。我知道在这种情况下很难得到直接的答案,但是请告诉我任何想法,无论多么牵强。
非常感谢大家 :D