2011-11-10 22 views
0

我已在服務器上下面的代碼Java的春天jQuery的阿賈克斯不工作

var email = document.getElementById("email").value; 
    $.post("/valid",{emailadd: email},function(data){ 
     alert(data); 
    }); 

我有以下幾點:

@RequestMapping(value = "/valid", method=RequestMethod.POST) 
public @ResponseBody Boolean checkValidEmail(@RequestParam("emailadd") String emailadd){ 
    return false; 
} 

使用Firebug我可以看到,變種的電子郵件中獲得的價值,但跳過通過警報功能,我做錯了什麼?

+0

難道是因爲數據爲空?試試alert(「Result:」+ data); –

+0

感謝您的回覆,但它沒有奏效。 – Paul

+0

你可以在螢火蟲中看到任何迴應嗎?展示下。將錯誤處理程序添加到您的Ajax請求中。檢查服務器日誌。 –

回答

1

我認爲這個問題是你不返回任何響應。您返回錯誤或真實,但是這不僅僅是停止checkValidEmail方法?

不知道這是如何在春季工作,但不能讓你呈現一些文本作爲輸出,看看是否輸出?

+0

感謝您使用字符串輸出,任何想法爲什麼布爾值沒有得到返回? – Paul

+0

它預計是一個字符串/ HTML你可以檢查是否工作在你的spring代碼中設置響應頭,然後在你的回調函數中檢查'statusText''函數(data,statusText)'文本將是「超時」,「錯誤」,「未修改」,「成功」或「 parsererror「。有關statusText的更多信息,請參閱jQuery doc –

0

看起來我的通話尚未完成,所以data將不會填充。您將需要添加一個回調處理complete

var email = document.getElementById("email").value; 
     $.post("/valid",{emailadd: email}, 
      complete: function(data){ 
       alert(data); 
      } 
    }); 
+0

complete是不是'$ .post'的函數嗎?我認爲這只是'$ .ajax'功能 –

+0

它是[$ .post](http://api.jquery.com/jQuery.post/) –

+0

確實'$ .post({})。complete (函數({});'... –

0

我沒有看到你的代碼有什麼問題。也許一個愚蠢的問題,但你確定該網址是正確的? webapp和路徑中的控制器怎麼樣?

補充說明:$("#email").val()會比較jQuery的友好,以獲得電子郵件:)