Hi, I am using the latest grid4php 2.6.3 full version with laravel framework.
In Cell Edit mode, whenever I changed the content of a cell and pressed the TAB key, the web frontend JS will call the browser URL with some URL variables.
Under the laravel controller+view, this will call some controller routine continuously which is unexpected.
In controller side, it do the rendering:
$ValuesGridOut = $g->render(“ValuesList”);
In view side, it do the HTML code:
<div style=”margin:5px;”>{!! $ValuesGridOut !!}</div>
In the nginx access log, it shows may form post or AJAX calls.
10.0.2.2 – – [02/Apr/2020:15:07:47 +0800] “GET /cbs/scoretable/7 HTTP/1.1″ 200 114417 “http://localhost:8000/cbs/project_manage/hkbsi” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:15:07:54 +0800] “GET /favicon-32×32.png HTTP/1.1” 200 2545 “http://localhost:8000/cbs/scoretable/7″ “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:15:08:03 +0800] “GET /cbs/scoretable/7?grid_id=ValuesList&_search=false&nd=1585811268264&rows=10&jqgrid_page=1&sidx=1&sord=asc HTTP/1.1″ 200 828 “http://localhost:8000/cbs/scoretable/7″ “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:18:02:02 +0800] “GET /cbs/scoretable/7 HTTP/1.1″ 200 114426 “http://localhost:8000/cbs/project_manage/hkbsi” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:18:02:03 +0800] “GET /css/admin_style.css?ver=4663164c87b79dd665498fcbb0cb59a2 HTTP/1.1” 200 124027 “http://localhost:8000/cbs/scoretable/7″ “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:18:02:16 +0800] “GET /cbs/scoretable/7?grid_id=ValuesList&_search=false&nd=1585821723557&rows=10&jqgrid_page=1&sidx=1&sord=asc HTTP/1.1″ 200 828 “http://localhost:8000/cbs/scoretable/7″ “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
My question is: anyway for me to check for this so that I can by pass some logic in the laravel controller code? I need this because there are some TEMP table creation codes in controller side. I did not expect the controller side will be called from time to time during cell edit.
screen:
further findings:
I found that whenever i edit a CELL and pressed TAB, there will be a POST from web frontend JS. as shown below.
How can i check this from the laravel controller to prevent this?
web server nginx access log:
10.0.2.2 – – [02/Apr/2020:18:22:16 +0800] “POST /cbs/scoretable/7?grid_id=ValuesList HTTP/1.1″ 200 56 “http://localhost:8000/cbs/scoretable/7” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:18:22:24 +0800] “POST /cbs/scoretable/7?grid_id=ValuesList HTTP/1.1″ 200 56 “http://localhost:8000/cbs/scoretable/7” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:18:22:32 +0800] “POST /cbs/scoretable/7?grid_id=ValuesList HTTP/1.1″ 200 56 “http://localhost:8000/cbs/scoretable/7” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
10.0.2.2 – – [02/Apr/2020:18:22:32 +0800] “POST /cbs/scoretable/7?grid_id=ValuesList HTTP/1.1″ 200 56 “http://localhost:8000/cbs/scoretable/7” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36”
Hi,
In excel mode, whenever a cell is switched the updated value of cell in saved table.
It works this way and there is no combined update function.
If you don’t save it, you will lose the changes as it is not saved locally.
Just in case you want to identify grid ajax call,
$is_grid_call = isset($_REQUEST[“nd”]) || isset($_REQUEST[“oper”]) || isset($_REQUEST[“export”]);