2011-10-20 44 views
1

我還沒有發展很長一段時間Ajax請求,我失去了一些反射。使用jQuery不工作

有人可以幫助我嗎?

HTML

<form> 
    <label for="title">Title :</label> 
     <input type="text" id="title" /> 
    <label for="comment">Comment :</label> 
     <input type="text" id="comment" /> 
    <label for="project">Project :</label> 
     <input type="text" id="project" /> 

    <input type="submit" value="Submit" /> 
</form> 

的JavaScript

$(function(){ 
    $('form').submit(function(){ 
     return false; 
     $.ajax({ 
      type: 'POST', 
      url: 'http://support.foo.com/insert_bug.aspx', 
      data: 'username=mr%20dog&password=dog%3Ddog&short_desc=' + $('#title').val() + '&comment=' + $('#comment').val() + '&projectid=' + $('#project').val(), 
      success: function(msg){ 
       alert(msg); 
      } 
     }) 
    }); 
}); 

insert_bug.aspx

據谷歌Chrome,當我按下提交偏偏不信邪

string username = Request["username"]; 
string password = Request["password"]; 
string short_desc = Request["short_desc"]; 
string comment = Request["comment"]; 
string projectid_string = Request["projectid"]; 

如果我從我的瀏覽器發送該URL,錯誤被添加。

+3

你的函數返回'ajax' ... –

+0

@JamesAllardice:我的壞':x'謝謝! –

回答

4

的問題是,你從submit事件處理您回電話給.ajax,這意味着永遠不會甚至達到了你的AJAX調用之前。您可以在return聲明移到函數體的結尾:

$('form').submit(function(){ 
    //AJAX call... 
    return false; 
}); 

或者你可以使用事件對象的preventDefault方法達到同樣的效果:在調用之前

$('form').submit(function(e){ 
    e.preventDefault(); 
    //AJAX call... 
}); 
+0

我的壞':x'當然是你的回答工作,謝謝。但警報(msg)不起作用,Chrome瀏覽器顯示沒有迴應,有什麼想法?當我用瀏覽器發送URL時,我得到一個字符串「bugid:xx」。 –

+0

「XMLHttpRequest無法加載http://support.foo.com/insert_bug.aspx,原因http:// localhost不被Access-Control-Allow-Origin允許。」 –

+0

Google「同源政策」。發出請求的頁面必須與發送請求的頁面位於同一個域中。 –

1

如果在任何地方發生任何事情 - 您在調用$.ajax函數之前從提交函數返回false,我感到很驚訝。 嘗試:

$(function(){ 
    $('form').submit(function(){ 
     $.ajax({ 
      type: 'POST', 
      url: 'http://support.foo.com/insert_bug.aspx', 
      data: 'username=mr%20dog&password=dog%3Ddog&short_desc=' + $('#title').val() + '&comment=' + $('#comment').val() + '&projectid=' + $('#project').val(), 
      success: function(msg){ 
       alert(msg); 
      } 
     }); 
     return false; 
    }); 
}); 
+0

我的壞':x'謝謝! –