2014-12-04 9 views
0

json 응답에서 response.success == false을 전송하면 콘솔 로그에 오류가 표시되지만 x 편집 가능은 return을 화면에 표시된 값은 실제로 저장되지는 ​​않았지만 소개했던 새 값으로 변경됩니다. 뭔가 잘못 됐니?Yii CGridView에서 x 편집 가능 : 성공시 오류가 발생하면 화면 업데이트를 중단하지 않음

'class' => 'editable.EditableColumn', 
'editable' => array(
    'model' => $model, 
    'params' => array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken), 
    'url' => $this->createUrl('user/update'), 
    'success' => 'js: function(response, newValue) { 
    if(!response.success) 
     console.log(response.msg); 
     return response.msg; 
    }', 
    'options' => array(
    'ajaxOptions' => array('dataType' => 'json') 
), 
) 

편집 : 1 : 여기

은 내가 사용하는 CGridView 코드의 조각

좋아, 내가 그 작업되었고, 나는 문제이다 발견했다. 그것은 자바 스크립트가 인 것 같습니다 제대로 작동하지 않습니다.

if 문이 응답을 올바르게 catch하고 있지만 반환 값이 제대로 보내지지 않습니다. 나는 설명한다 : 내가 그런 글자를 쓰면 : return "test return"; 값이 올바르게 반환되지만, 내가 넣으면 return response.msg;은 보내지지 않는다.

물론 response.msg은 비어 있지 않으며 String 메시지를 올바르게 포함합니다.

답변

0

좋아, 나는 그에서 일하고있다 그리고 나는 나의 바보 같은 실수 ... 내가 배열로 MSG를 반환 한을 발견하고 나는이 일을했다 : 메시지가 저장되는 위치

return response.msg[index]; 

어디 index이다.

그걸로 정말 시간을 잃고 당황했습니다 ...