2014-04-23 4 views
0

Ajax 호출을 통해 데이터를 가져옵니다. 이 데이터에는 .data()를 사용하여 PHP에서 Javascript 변수로 일부 값을 저장하는 다음 코드가 있습니다. PHP 변수에 값이 있지만 js에 저장되지 않는다고 확신합니다.Drupal 7 자바 스크립트가 값을 저장하지 않습니다.

$("#chkso").data('paragraphs'); 

가 정의되지 않은 말한다 그것은 내가 실행하려고하면 이제 JS 코드

$out .= ' 
<script type="text/javascript"> 
jQuery("#chkso").data("paragraphs",' . json_encode($this->result->data->analysis->so->paragraphs) . '); 
jQuery("#chkso").data("domExpression",' . json_encode($this->result->data->analysis->so->paragraphDOM) . '); 
jQuery("#chkso").data("tooSimpleColor",' . json_encode($light_blue) . '); 
jQuery("#chkso").data("tooComplexColor",' . json_encode($light_orange) . '); 
</script>'; 
     return $out; 

이있는 함수를 호출

그래서 아약스 방법

'#ajax' => array(
        'callback' => 'a_e_get_score', 

가보세요 .

어떻게 이러한 값을 실제로 전달합니까? 내가 언급 한 또 다른 방법은 here을 알고 있지만 그것은 나를 위해 잘 작동하지 않습니다.() 함수 drupal_add_js를 사용하는 경우

답변

0

감사합니다. drupal_json_encode 나를 위해 트릭을했습니다. 다음 코드는 문제없이 작동합니다. 이 잘 보이지만, (나에게) 알 수없는 이유로 정말 작동하지 않았다

0

을 안내하시기 바랍니다.

drupal_add_js(array('myModule' => array('key' => 'value')), 'setting'); 

다음 자바 스크립트 파일에이처럼 값에 액세스 할 수 있습니다

Drupal.settings.myModule.key 

을 당신이 당신의 모듈 파일에서 자바 스크립트로 데이터를 전송하려는 경우에만이

를 사용할 필요가 없습니다
'#ajax' => array(
       'callback' => 'a_e_get_score', 
+0

$out .= '<script type="text/javascript"> var tooSimpleColor = ' . drupal_json_encode($light_blue) . '; var tooComplexColor = ' . drupal_json_encode($light_orange) . '; var domExpression = ' . drupal_json_encode($this->result->data->analysis->so->paragraphDOM) . '; var paragraphs = ' . drupal_json_encode($this->result->data->analysis->so->paragraphs) . '; </script>'; 

감사합니다. 그러나 나는이 일을하는 또 다른 방법을 발견했다. 나는 그 대답을 곧 게시 할 것이다. –

관련 문제