Codeigniter ajax请求输出失败

时间:2011-07-21 20:06:32

标签: javascript ajax codeigniter frameworks

我正在尝试使用jquery / codeigniter发出ajax请求。好吧,似乎有一个问题。我确实让它工作,但似乎POST没有发送,出于某种原因......

的Javascript

    $('#profileUpdateButton').click(function() {

        $.ajax({ // Starter Ajax Call

            method: "POST", 
            url: baseurl + 'profile/statusUpdate', 
            data: $('#statusUpdateForm').serialize(),
            success: function(data) { 
                alert(data);
            }

        });

        return false;

    });

来自codeigniter控制器

    if($this->input->is_ajax_request()) {
        echo $this->input->post('profileUpdate');
    }

如果我更换“echo $ this->”等等。只需回显“你好”我就会得到一个带有“你好”的警告箱,为什么我不从盒子里拿到文字?

HTML

    <div id="statusUpdate">
        <?php echo form_open(base_url() . 'profile/statusUpdate', array('name' => 'statusUpdateForm')); ?>
            <input type="text" value="Hva tenker du på?" name="profileUpdate" id="profileUpdate" onfocus="if(this.value == 'Hva tenker du på?')this.value=''" onblur="if(this.value == '')this.value='Hva tenker du på?'" />
            <input type="submit" value="" name="profileUpdateButton" id="profileUpdateButton" />
        <?php echo form_close(); ?>
    </div>

1 个答案:

答案 0 :(得分:2)

将您的html标记更改为此...

<div id="statusUpdate">                   <!-- Use ID not NAME here |v| -->
    <?php echo form_open(base_url() . 'profile/statusUpdate', array('id' => 'statusUpdateForm')); ?>
        <input type="text" value="Hva tenker du på?" name="profileUpdate" id="profileUpdate" onfocus="if(this.value == 'Hva tenker du på?')this.value=''" onblur="if(this.value == '')this.value='Hva tenker du på?'" />
        <input type="submit" value="" name="profileUpdateButton" id="profileUpdateButton" />
    <?php echo form_close(); ?>
</div>

您正在设置表单的名称,而您选择的是$('#statusUpdateForm'),这意味着statusUpdateForm的 id ,而不是名称属性......