【问题标题】:how to retrieve array data at jquery ajax如何在 jquery ajax 中检索数组数据
【发布时间】:2013-12-07 08:17:21
【问题描述】:

我想从 ajax jquery 函数调用一个 codeigniter 控制器函数,并且在成功时我以数组形式获得结果。我需要将数组值输出到不同的文本字段中。如何使用 jquery ajax 检索数组值。我的代码,

<?php 
 echo form_open(base_url().'index.php/tapal');  ?>
    <table class="register-table">
    <tr>
                    <td>Tapal No.</td>
                    <td><input type="text" class="tapal_no" name="Tyear" id="Tyear" placeholder="<?php echo date('Y');?>" />
                        <input type="text" class="tapal_no" name="Tno" id="Tno" />
                        <input type="text" class="tapal_no" name="Tdist" id="Tdist" placeholder="7" /></td>
    </tr>
    <tr>
                    <td><label for="T_sender">Sender Code<span class="required_field">*</span></label></td>
                    <td><select id="T_sender" name="T_sender">
                            <option value=""></option>
                            <?php if(isset($Tsender)) : foreach($Tsender as $send) : ?>
                            <?php echo "<option value=".$send->add_id.">".$send->add_name.",&nbsp;".$send->add_line1."</option>"; ?>    
                            <?php endforeach; ?>
                            <?php else : ?> 
                            <option value=""></option>
                            <?php endif; ?>
                        </select> 
                    </td>
    </tr>
    <tr>
        <td>Sender Name</td>
        <td><input type="text" class="text-input" name="send_name" id="send_name" /></td>
    </tr>
    <tr>
        <td rowspan="3">Address</td>
        <td rowspan="3"><div><input type="text" class="text-input" name="add_line1" id="add_line1" placeholder="Building Name/ No." /></div>
                        <div><input type="text" class="text-input" name="add_line2" id="add_line2" placeholder="Street/ Lane" /> </div>
                        <div><input type="text" class="text-input" name="add_line3" id="add_line3" placeholder="City/ Dist" /> </div></td>
    </tr>
    </table>
<?php    echo form_close();     ?>

还有jquery函数,

<script type="text/javascript">
$(function(){
$("#T_sender").change(function(){   
        var sender_code = $(this).val();            
        var out = $("#send_name");
        var ajax_data = {
            sender_code:sender_code,
            action:'findaddress'
        };
        $.ajax({
            url: "<?php echo site_url('tapal/tapalajaxqry'); ?>",
            type: 'POST',
            data: ajax_data,
            success: function(msg) {
                $("#send_name").val(msg);       
            }
        });
});
})
</script>

还有控制器功能,

    function tapalajaxqry()
{
    if(strncmp($this->input->post('action'),'findaddress',11) == 0){
        if($query = $this->tapal_model->get_Taddress($this->input->post('sender_code')))
        return $query;
    }
}

如何获取数组值,并将它们(发件人姓名、地址 line1、地址 line2 等)输出到相应的文本字段中?

【问题讨论】:

  • 你可以返回一个带有json_encode函数的json对象,并在jQuery中解析并使用它。

标签: jquery ajax codeigniter


【解决方案1】:

最好的办法是将输出编码为 JSON (json_encode($array);),这样您就可以使用带有 JSON.parse(data); 的 ajax/jquery 轻松检索和解码结果。

关于这个主题有无数类似的帖子,但由于您的代码对您的代码来说是独一无二的,因此不需要将其标记为重复。

初学者可以试试这个,如果您需要进一步的帮助,请回复评论:Retrieving Data from a database in codeigniter using AJAX

【讨论】:

    【解决方案2】:

    试试这个:在你的控制器中

    function tapalajaxqry()
    {
        // Your code here
    
    
        // respond to jQuery
        echo json_encode(array('result' => 'success'));
    }
    

    在您的 jQuery 代码中,会像这样检索:

    $.ajax({
                url: "<?php echo site_url('tapal/tapalajaxqry'); ?>",
                type: 'POST',
                data: ajax_data,
                success: function(msg) {
                    $("#send_name").val(msg.result);       
                }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多