Ajax从成功函数中检索数据

时间:2013-04-09 15:27:13

标签: ajax forms jquery

我通过Ajax提交表单,我想在提交表单时将项目名称添加到列表项中。一切正常,除了拉动成功函数内所需的信息。正在发布数据[项目] [project_name]。如何在成功函数中获取项目名称?现在“数据”正在列表中显示。我的表单中只有一个文本框。

<script type="text/javascript">
    $(document).ready(function () {     
        var frm = $('#ProjectAddForm');
        frm.submit(function() {
            $.ajax({
                type: frm.attr('method'),
                url: frm.attr('action'),
                data: frm.serialize(),
                success: function(data) {
                    $('#ProjectProjectName').val('');
                    $('#ProjectList').prepend("<li style='color: green;'>data</li>");

                }
            })
        });
        return false;               
    });
</script>

HTML:

<ul id="ProjectList">
            <?php foreach ($projects as $project): ?>                       
                <li><?php echo $project['Project']['project_name']; ?></li>
            <?php endforeach; ?>
            <?php unset($project); ?>
        </ul>

<form accept-charset="utf-8" method="post" onsubmit="event.returnValue = false; return false;" id="ProjectAddForm" action="/callLog/projects/add">

1 个答案:

答案 0 :(得分:1)

我需要在请求中添加一个dataType:'json'。

<script type="text/javascript">
    $(document).ready(function () {     
        var frm = $('#ProjectAddForm');
        frm.submit(function() {
            $.ajax({
                type: frm.attr('method'),                   
                url: "<?php echo $this->Html->Url(array('controller' => 'projects', 'action' => 'add.json')); ?>",
                data: frm.serialize(),
                dataType: 'json',
                success: function(data) {
                    $('#ProjectProjectName').val('');
                    $('#ProjectList').prepend("<li class='icon-remove', style='color: green;'>" + data.projectName + "</li>");
                    $('#modalProject').modal('hide');
                }
            })
        });
        return false;               
    });
</script>