有個以TP3.1框架開發的功能,計算完成後要求回傳{"status":0}
程式碼最後為
<code> ini_set("max_execution_time", "800"); ... $data['status'] = 0; Log::write(json_encode($data),Log::DEBUG); echo json_encode($data); Log::write('echo success',Log::DEBUG);</code>
運行結果為
<code>[ 2016-07-18T14:50:36+08:00 ] DEBUG: 运行时间:486.8268s [ 2016-07-18T14:50:36+08:00 ] DEBUG: {"status":0} [ 2016-07-18T14:50:36+08:00 ] DEBUG: echo success</code>
但是頁面沒 echo json_encode($data);
F12查看http請求就一直沒有返回,但是計算卻運行完成了,程式碼基本上都貼全了,只要刪除一部分計算時間長的程式碼,就可以得到返回值,但我已經設定了max_execution_time
,計算也沒超過時間
有個以TP3.1框架開發的功能,計算完成後要求回傳{"status":0}
程式碼最後為
<code> ini_set("max_execution_time", "800"); ... $data['status'] = 0; Log::write(json_encode($data),Log::DEBUG); echo json_encode($data); Log::write('echo success',Log::DEBUG);</code>
運行結果為
<code>[ 2016-07-18T14:50:36+08:00 ] DEBUG: 运行时间:486.8268s [ 2016-07-18T14:50:36+08:00 ] DEBUG: {"status":0} [ 2016-07-18T14:50:36+08:00 ] DEBUG: echo success</code>
但是頁面沒 echo json_encode($data);
F12查看http請求就一直沒有返回,但是計算卻運行完成了,程式碼基本上都貼全了,只要刪除一部分計算時間長的程式碼,就可以得到返回值,但我已經設定了max_execution_time
,計算也沒超過時間
<code class="php"> ini_set("max_execution_time", "800"); ... $data['status'] = 0; Log::write(json_encode($data),Log::DEBUG); echo json_encode($data); Log::write('echo success',Log::DEBUG); exit;//退出脚本 </code>
$data['status'] = 0;
echo 1;
Log::write(json_encode($data),Log::DEBUG);
echo 2;
echo json_encode($data);
echo 2;
echo json_encode($data);
這樣試試 看運行到這裡沒
做的ajax請求?瀏覽器F12看看請求的連結有沒有成功,有沒有收到回覆。給的資訊太少了,補充詳細一點。
看不出什麼明顯的問題,用的xhr做的請求,是不是設定了timeout?導致計算時間過長就忽略回傳值了。順便,建議在echo json前面加上
header('Content-Type: application/json');