jeasyui Editable datagrid не запускает событие при успехе

документация по редактируемой сетке

подробная документация

я использую обычную сетку данных с подробным представлением, и когда это расширяет строку, она получает подсетку данных, в этой подсетке данных используется эдатагрид, мне нужно иметь возможность редактировать 1 значение из строки, и я могу сделать это правильно , но по какой-то причине событие on Success никогда не запускается. Однако onError срабатывает нормально.

Любые предложения, почему onSuccess не срабатывает?

вот как я создаю эдатагрид.

$('#ddv2-'+index).edatagrid({
url:'getOrderDetailProvision.php?id='+row.Id,           
updateUrl: 'update_sim.php',
fitColumns:true,
singleSelect:true,
rownumbers:true,
height:'auto',
autoSave:true,
columns:[[
   {field:'Serie',title:'Serie',width:40},
   {field:'UniqueId',title:'Unique ID', width:40},
   {field:'AVL',title:'AVL ID', width:40},
   {field:'sim',title:'Sim', width:40,editor:'textbox'},
   {field:'Numero',title:'Numero Telefonico',width:40},
   {field:'Producto',title:'Producto',width:40}
]],
    onError: function(index2,row2){
        console.log("onError");
    console.log(row2);
},
onSave: function(index3,row3){
    console.log("onSave");
    console.log(row3);
},
onSuccess:function(index4,row4){
    console.log("onSuccess");
    console.log(row4.msg);
},
onEdit:function(index5,row5){
    console.log("onEdit");
}
});

и мой URL-адрес обновления 'update_sim.php'

<?php
include "includes/db_config.php";
include "ChromePhp.php";
$post = getRealPOST();
ChromePHP::log("Array : ", $post);
$id = intval($post['Id']);
$Serie = $post['Serie'];
$Producto = $post['Producto'];
$AVL = $post['AVL'];
$UniqueId = $post['UniqueId'];
$sim = $post['sim'];
$conn = sqlsrv_connect(SV_NAME, $connectionInfo) OR die("Unable to connect to the database");
$sql = "SELECT Id,Numero from Lineas WHERE Sim= $sim";
$params = array();
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$result = array();  
$res = sqlsrv_query($conn, $sql, $params, $options);
if(sqlsrv_num_rows($res) == 0){
    echo json_encode(array(
    'isError' => true,
    'msg' => 'No existe SIM en BD'
    ));
    ChromePHP::log("Error no rows");
    ChromePHP::log($sql);
}else if(sqlsrv_num_rows > 1){
    ChromePHP::log("Error no rows");
    echo json_encode(array(
    'isError' => true,
    'msg' => 'Multiples SIM en BD'
    ));
}else{
    $row = sqlsrv_fetch_array( $res, SQLSRV_FETCH_ASSOC);
    $telefono = $row['Numero'];
    $sql = "UPDATE producto SET Sim_Id=(SELECT Id from Lineas WHERE Sim= $sim) WHERE Id = $id"; 
    $res = sqlsrv_query($conn, $sql, $params, $options);
    echo json_encode(array(
    'isSuccess' => true,
    'Id' => $Id,
    'Serie' => $Serie,
    'UniqueId' => $UniqueId,
    'AVL' => $AVL,
    'Producto' => $Producto,
    'sim' => $sim,
    'Numero' => $telefono
    ));
    ChromePHP::log($sql);
}

function getRealPOST() {
    $pairs = explode("&", file_get_contents("php://input"));
    $vars = array();
    foreach ($pairs as $pair) {
        $nv = explode("=", $pair);
        $name = urldecode($nv[0]);
        $value = urldecode($nv[1]);
        $vars[$name] = $value;
    }
    return $vars;
}
?>

person pato.llaguno    schedule 10.04.2016    source источник


Ответы (1)


у меня была ошибка дампа, потому что эхо-массив json был $Id вместо $id, имея NULL, это не вызвало бы событие успеха.

person pato.llaguno    schedule 10.04.2016