簡體   English   中英

Codeigniter ajax 請求在 output 上失敗

[英]Codeigniter ajax request fail on output

我正在嘗試使用 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 controller

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

如果我用 echo "Hello" 替換 "echo $this->" 等,我會得到一個帶有 "Hello" 的警報框,為什么我不能從框中獲取文本?

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>

將您的 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 ,而不是 name 屬性...

暫無
暫無

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

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