使用Codeigniter AJAX发布问题的jQuery

I've been trying to figure this out, but it seems to be harder than i first thought. However, what I'm trying to do is make an ajax post request, but the POST seems to be empty when I'm sending it.

My HTML File

    <div id="statusUpdate">
        <?php echo form_open(base_url() . 'profile/statusUpdate', array('id' => 'statusUpdateForm', '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>

My Javascript

        $('#statusUpdateForm').submit(function() {

        $.ajax({ // Starter Ajax Call

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

        });

        return false;

    });

My PHP (Some of my medhod in the controller)

    // Check if the input is a ajax request
    if($this->input->is_ajax_request()) {
        echo $_POST['profileUpdate'];
    }

Notice, when i put echo "Hello World" etc in the controller, i do get "Hello World" in the alert box from the javascript.

I've also tried a var_dump on $_POST and it returns array(0){} When I'm trying to output the specific $_POST['profileUpdate'] variable i get an error like this,

enter image description here

I've also done a alert from the seralize function i JS, this is what i got,

enter image description here

Is there anyone who know how i can fix this problem?

Try changing method to type.

I'm guessing the script is performing a GET request, which is the default setting when using ajax(), instead of a POST request. Like this:

$.ajax({ // Starter Ajax Call

        // "method" isn't an option of $.ajax
        // method: "POST", 
        type: "POST", 

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

    });

Try The following Code

In View add the following form

<?php echo form_open('welcome/CreateStudentsAjax'); ?>

    <label for="roll">Student Roll Number</label>
    <input type="text" id="txtRoll" value="" name="roll"/>

    <label for="Name">Students Name</label>
    <input type="text" id="txtName" value="" name="name"/>

    <label for="Phone">Phone Number</label>
    <input type="text" id="txtPhone" value="" name="phone"/>

    <input type="submit" name="submit" value="Insert New Students"  />

    <?php echo '</form>'; ?>

The JQuery Part is below

            $(document).ready(function(){

                $('form').submit(function(){
                    //alert('ok');      
                    $.ajax({
                        url:this.action,
                        **type:this.method,**
                        data:$(this).serialize(),
                        success:function(data){
                            var obj = $.parseJSON(data);

                            if(obj['roll']!=null)
                            {                               
                                $('#message').text("");
                                $('#message').html(obj['roll']);
                                $('#message').append(obj['name']);
                                $('#message').append(obj['phone']);
                            }
                            else
                            {                               
                                $('#message').text("");
                                $('#message').html(obj); 
                            }

                        },
                        erro:function(){
                            alert("Please Try Again");
                        }                        
                    });
                    return false;
                });                        
            });

        </script>