簡體   English   中英

如何使用ajax將新的jquery值傳遞給CI控制器

[英]how to pass new jquery value to CI controller using ajax

首先,我想一次將數據庫中的數據顯示到VIEW中的一個表中,然后,如果有更改,用戶將只需要雙擊表並輸入新值即可。 這是屏幕截圖:

我已經完成了顯示和編輯, 接下來我要做的是保存新數據/值,以便將其傳遞給控制器​​。

這是我的代碼,用於通過單擊MOVE ON按鈕使用jquery獲取數據庫中的數據並將其顯示在表中。

<script type="text/javascript">
                    var leads = Array();
                    var lead_count = 0;
                    <?php $count = 0; foreach($agent_leads as $info):?>
                        leads[<?php echo $count; ?>] = {"fullname": "<?php echo $info['fullname'] ?>",
                                                        "gender" : "<?php echo $info['gender'] ?>",
                                                        "address": "<?php echo $info['address'] ?>",
                                                        "city" : "<?php echo $info['city']; ?>",
                                                        "state" : "<?php echo $info['state']; ?>",
                                                        "zipcode" : "<?php echo $info['zipcode']; ?>",
                                                        "email": "<?php echo $info['email'] ?>"
                    };
                    <?php $count++; endforeach; ?>
                    // console.log(lead_count)
                    // console.log(leads[lead_count])
                    if(lead_count == 0)
                    {
                        var append = '';
                        append += '<tr>';
                        append += '<td><div contenteditable>'+leads[lead_count].fullname+'</div></td>';
                        append += '<td><div contenteditable>'+leads[lead_count].gender+ '</div></td>';
                        append += '<td><div contenteditable>'+leads[lead_count].address+'</div></td>';
                        append += '<td><div contenteditable>'+leads[lead_count].city+   '</div></td>';
                        append += '<td><div contenteditable>'+leads[lead_count].state+  '</div></td>';
                        append += '<td><div contenteditable>'+leads[lead_count].zipcode+'</div></td>';
                        append += '<td><div contenteditable>'+leads[lead_count].email+  '</div></td>';
                        append += '<td><input type="text" id="status"/></td>';
                        append += '<td><input type="number" id="qty"/></td>';
                        append += '<td><input type="text" id="comment"/></td>';
                        append += '<td><button class="btn btn" id="sub" type="submit">Submit</button></td>';
                        append += '</tr>';

                        $('#leads_info').html(append);
                    }

                    $(document).on('click', '#move_on', function(){
                        var order = Number($(this).attr('data-order')) + 1;
                        var append = '';
                        append += '<tr>';
                        append += '<td>'+leads[order].fullname+'</td>';
                        append += '<td>'+leads[order].gender+'</td>';
                        append += '<td>'+leads[order].address+'</td>';
                        append += '<td>'+leads[order].city+'</td>';
                        append += '<td>'+leads[order].state+'</td>';
                        append += '<td>'+leads[order].zipcode+'</td>';
                        append += '<td>'+leads[order].email+'</td>';
                        append += '<td><input type="text" id="status"/></td>';
                        append += '<td><input type="number" id="qty"/></td>';
                        append += '<td><input type="text" id="comment"/></td>';
                        append += '<td><button class="btn btn-success" id="sub" type="submit">Submit</button></td>';
                        append += '</tr>';
                        $(this).attr('data-order', order);
                        $('#leads_info').html(append);
                    });

這是我的ajax代碼

$(document).on('click', '#sub', function(){
                        var infos = Array();
                        infos['i'] = {
                                    lead:leads[lead_count],
                                    status: $('#status').val(),
                                    qty: $('#qty').val(),
                                    comment: $('#comment').val()
                                }
                        $.ajax({
                            url: window.location + '/sales_report',
                            type: 'POST',
                            data: infos,
                            error: function (XMLHttpRequest, textStatus, errorThrown) {
                                console.log('error');
                            },
                            success: function (result) {
                                console.log('success');
                            }

                        });
                    });

但是,當我單擊“提交”以將所有數據傳遞到控制器時,我在console.log()收到“錯誤”消息,這對jquery和ajax是陌生的。 我對如何將數組從視圖傳遞到控制器一無所知,但對如何從模型->控制器中獲取數據一無所知

如何將表中的新值傳遞給控制器​​?

如果看到錯誤,請打開開發人員控制台,轉到網絡頁面,然后在/ sales_report頁面上看到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM