在代码点火器中使用 JSON 格式的 foreach 循环



我想在json中循环一个表,

我的返回值是

Array(
[0]Array(
[m_id]=>2
[event_id]=>37
[activity_id]=>20
)
[1]Array(
[m_id]=>20
[event_id]=>3
[activity_id]=>2
)
)

我的脚本是

function get_out_mail(user_name){                       
var datastring = 'user_name=' + user_name;
alert(datastring);
var a = false;
$.ajax({
type: "POST",
async: false,
url: "<?php echo site_url(); ?>admin/get_out_mails",
data: datastring,
cache: false,
success: function (result) {
alert(result);
var result = $.parseJSON(result);
console.log(result.from);
$('#myTable').html('');
$("#myTable").append('<tbody><?php foreach ($get_all_mail as $get_all_mails) { ?><tr id="target-list"><td><input type="checkbox" id="mail-checkbox-1" class="custom-checkbox"></td><input type="hidden" name="mid" value="<?php echo $get_all_mails['m_id']; ?>"/><td><i class="glyph-icon icon-star"></i></td><td class="email-title" ><?php echo $get_all_mails['from']; ?></td><td class="email-body" ><?php echo $get_all_mails['subject'] ?></td><td><i class="glyph-icon icon-paperclip"></i></td><td>17 Jan 2014</td></tr><?php } ?></tbody>');
}
});
return a;
}

我的控制器

public function get_out_mails(){
if ($this->session->userdata('admin_logged_in')) {
$user_name = $this->input->post('user_name');
$result['out_mail'] = $this->admin_model->get_out_mailss($user_name);
print_r($result['out_mail']);
}

在这里,我想使用 foreach 循环在 json 中附加我的返回数组值,我该怎么做。

这是 ajax 请求 最好在控制器中返回完整的 html 部分,而不是附加到视图页面中:

示例控制器:

echo $values ="<body>
<tr> test</tr>
</body>";
View : Success :  function(data){
$('#id').html(data);
}

这样,您将从视图页面隐藏完整的循环并在控制器中获取代码

将控制器函数替换为:

public function get_out_mails(){
if ($this->session->userdata('admin_logged_in')) {
$user_name = $this->input->post('user_name');
$result['out_mail'] = $this->admin_model->get_out_mailss($user_name);
$data = '<tbody>';
foreach ($get_all_mail as $get_all_mails) {
$data .= '<tr id="target-list"><td><input type="checkbox" id="mail-checkbox-1" class="custom-checkbox"></td><input type="hidden" name="mid" value="'.$get_all_mails['m_id'].'"/><td><i class="glyph-icon icon-star"></i></td><td class="email-title" >'.$get_all_mails['from'].'</td><td class="email-body" >'.$get_all_mails['subject'].'</td><td><i class="glyph-icon icon-paperclip"></i></td><td>17 Jan 2014</td></tr>';
}
$data .= '</tbody>';
echo $data;
}

并且,将您的脚本替换为以下内容:

function get_out_mail(user_name){
alert(datastring);
var a = false;
$.ajax({
type: "POST",
async: false,
url: "<?php echo site_url(); ?>admin/get_out_mails",
data: {'user_name': user_name},
cache: false,
success: function (result) {
alert(result);
var result = $.parseJSON(result);
console.log(result.from);
$('#myTable').html(result);
}
});
return a;
}

最新更新