Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ajax将新的jquery值传递给CI控制器_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 如何使用ajax将新的jquery值传递给CI控制器

Javascript 如何使用ajax将新的jquery值传递给CI控制器,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,首先,我想在视图中一次一个地将数据从数据库显示到表中,然后如果有更改,用户只需双击该表并输入新值。 我已经完成了显示和编辑,我接下来要做的是保存新的数据/值,以便将其传递给控制器。 下面是我的代码,用于获取数据库中的数据,并通过单击“继续移动”按钮,使用jquery将其显示到表中 <script type="text/javascript"> var leads = Array(); var lead_

首先,我想在视图中一次一个地将数据从数据库显示到表中,然后如果有更改,用户只需双击该表并输入新值。

我已经完成了显示和编辑,我接下来要做的是保存新的数据/值,以便将其传递给控制器。

下面是我的代码,用于获取数据库中的数据,并通过单击“继续移动”按钮,使用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);
                    });
但是,当我单击Submit将所有数据传递给控制器时,我在
console.log()中得到“error”(错误)
我不熟悉jquery和ajax。我不知道如何将数组从视图传递到控制器,但我知道如何从模型->控制器获取数据


如何将表中的新值传递给控制器?

如果您看到错误,请打开开发人员控制台,转到网络页面,并在/sales\u报告页面上看到错误

是的,我已经做了!但是我只是把这个代码
console.log('error')所以我知道它无法通过,但实际上我不知道它为什么无法通过。如何获取错误消息?@justAbeginner console.log(textStatus);console.log(错误抛出);log(XMLHttpRequest);我得到这个错误
Object{readyState:4,setRequestHeader:.ajax/jqXHR.setRequestHeader(),getAllResponseHeaders:.ajax/jqXHR.getAllResponseHeaders(),getResponseHeader:.ajax/jqXHR.getResponseHeader(),overrideMetype:.ajax/jqXHR.overrideMetype(),abort:.ajax/jqr.abort(),done:jQuery.Callbacks/self.add(),失败:jQuery.Callbacks/self.add(),进度:jQuery.Callbacks/self.add(),状态:。延迟/promise.state(),13个以上…}
$(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');
                            }

                        });
                    });