AJAX发布不起作用

I'm using jQuery and Codeigniter to update the database via AJAX. The following code does not seem to do anything or send anything to my controller when the button is clicked...

jQuery:

$("#button_submit1").click(function(e) {

    $.ajax({
        type: "POST",
        url: window.location.href,
        dataType: "json",
        data: $('#writereview_form').serialize() + '&ajax=true',
        cache: false,
        success: function(data) {
                    alert("yay");
                    //$("#writereview_box").fadeOut(1000);
        }
    });

    return false;

});

HTML:

<form action="http://mysite.com/places/writereview/2107" id="writereview_form" method="post" accept-charset="utf-8">   

...
...

<input type="submit" name="submit" value="Submit Review" class="button_submit" id="button_submit1">

Any ideas why the ajax data is not being sent?

In this case its better to bind to the 'submit' event on the form and then use preventDefault() to stop the HTML submission and use Ajax instead.

You should also use the form's action instead of window.location

$("#writereview_form").submit(function(e) {
  var $this = $(this);
  e.preventDefault();

  $.ajax({
      type: "POST",
      url: $this.attr('action'),
      dataType: "json",
      data: $this.serialize() + '&ajax=true',
      cache: false,
      success: function(data) {
                  alert("yay");
                  //$("#writereview_box").fadeOut(1000);
      }
  });

});

Try withiut using window.location.href and giving url as url: "page.php",