|
|
|
Бардак при массовой передачи getRowData JQgrid в php скрипт
|
|||
|---|---|---|---|
|
#18+
Всем привет помогите разобраться в чем проблема. Суть: имеется jqgrid c multiselect: true. скрипт test.php необходимо по выделенным данным передать getRowData для каждой записи..завернуть в JSON и отдать в json.php скрипт. листинг test.php <script type="text/javascript"> $(function(){ jQuery("#crud").click( function(){ var selectedrows = $("#list3").jqGrid('getGridParam','selarrrow'); if(selectedrows.length) { l=selectedrows.length; for(var i=0;i<l; i++) { var selecteddatais = $("#list3").jqGrid('getRowData',selectedrows[i]); var rows=JSON.stringify(selecteddatais) var getArray = {json:rows}; $.ajax({ type: "GET", url: "json.php", data: getArray, dataType: "json" }); } } }); }); </script> листинг json.php -просто пишит в файл то что пришло от test.php <?php $arr=$_GET['json']; $filters = stripslashes($arr); $arr_fin = json_decode($filters,true); ob_start(); var_dump($arr_fin); $output = ob_get_clean(); file_put_contents('lsuperlog.txt', $output,FILE_APPEND); ?> так вот вопрос..все работает данные передаються пишутся но не все.. если выбрать больше 1-ой записи то иногда начинается бардак данные передаются не все.. иногда конечно передаются все..лоторея прям:-) стал изучать в чем проблема и нашел следующее: в test.php в цикле: for(var i=0;i<l; i++) { var selecteddatais = $("#list3").jqGrid('getRowData',selectedrows[i]); var rows=JSON.stringify(selecteddatais); var getArray = {json:rows}; $.ajax({ type: "GET", url: "json.php", data: getArray, dataType: "json" }); } } если в строчке var rows=JSON.stringify(selecteddatais) заменить selecteddatais на i: var rows=JSON.stringify(i) вывожу индексы и тут я увидел следующее: 1.индексы в некоторых случаях = NULL 2.и передаются не последовательно тоесть в условии" for " i =0 ..i++ а получается I=0 I=3 I=2 I=6 I=NULL ..в чем может быть причина?? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 09:57 |
|
||
|
Бардак при массовой передачи getRowData JQgrid в php скрипт
|
|||
|---|---|---|---|
|
#18+
разобрался..причина была в настройках $.ajax({ type: "GET", url: "json.php", data: getArray, dataType: "json" }); добавляем async:false и все работает.. вообщем $.ajax по умолчанию работает асинхронно нужно изменить на синхронную работу:-) может кому понадобиться :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 11:00 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=84&tid=1446439]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 353ms |

| 0 / 0 |
