为什么jquery中的$ .each无法读取jquery中的'data'?

I have this listener who listens in this php function

public function notification_query(){

$this->sse();
$data['company_id'] = $this->session->userdata('companyId');
$data['chikito']=$this->pm_model->notifications_admin($data);

echo "data: ".json_encode($data['chikito'])."

";
ob_flush();
flush();
sleep(1); }

and if the server has an event, it will pass automatically to the client side script function.

var es = new EventSource("<?php echo base_url(); ?>admin/notification_query");

 var listener = function (data)
 {
    var data = data.data;
    //$("#notification").append(data);   
      $.each(data, function(index, val) {  
        $("#notification").append(val.details); 
       });

 }

  es.addEventListener("message", listener);

now the problem is, why can't the $.each in jquery can't read the data pass from the server? It didn't print. I have no idea why.

By the way, if I use $("#notification").append(data); It will print the data that is pass.

thanks in advance for those who answers.

doushantun0614
doushantun0614 你可以发布样本数据结构吗?
6 年多之前 回复
dongmian8108
dongmian8108 现在我知道了,谢谢你的帮助
6 年多之前 回复
dongren4147
dongren4147 因为数据不是对象。这是一个字符串。vardata=$.parseJSON(data).data;?
6 年多之前 回复

1个回答



JSON.stringify()方法将值转换为JSON。</ p>

  var  data = JSON.stringify(data).data; 

JSON.stringify({}); //'{}'
JSON.stringify(true); //'true'
JSON.stringify(“foo”); //'“foo”'
JSON.stringify([1,“false”,false]); //'[1,“false”,false]'
JSON.stringify({x:5}); //'{“x”:5}'
JSON.stringify({x:5,y:6}); //'{“x”:5,“y”:6}'或'{“y”:6,“x”:5}'
</ code> </ pre>
</ div>

展开原文

原文

The JSON.stringify() method converts a value to JSON.

var data = JSON.stringify(data).data;

JSON.stringify({});                  // '{}'
JSON.stringify(true);                // 'true'
JSON.stringify("foo");               // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 });            // '{"x":5}'
JSON.stringify({x: 5, y: 6});        // '{"x":5,"y":6}' or '{"y":6,"x":5}'

duanfenhui5511
duanfenhui5511 也许这会有所帮助
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问