2016-08-13 168 views
1

這是我在我的JavaScript文件:AJAX調用不將數據發送到控制器的方法

$(document).ready(function() { 
$('#add-be-submit').click(function (event) { 
    event.preventDefault(); 

    $.ajax({ 
     type: 'POST', 
     url: '/snapdragon/blog/new', 
     data: JSON.stringify({ 
      EntryName: $('#add-be-title').val(), 
      EntryBody: CKEDITOR.instances.addBeBody.getData() 
     }), 
     contentType: 'application/json; charset=utf-8', 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json' 
     }, 
     dataType: 'json' 
    }).success(function (data, status) { 
     $('#add-be-title').val(''); 
     CKEDITOR.instances.addBeBody.getData(''); 
    }); 
}); 

這是我在我的控制器:

/* ---------- ADD BLOG ENTRTY ---------- */ 
@RequestMapping(value = "/new", method = RequestMethod.POST) 
@ResponseStatus(HttpStatus.CREATED) 
public void addBlogEntry(@Valid @RequestBody BlogEntry entry) { 
    dao.addBlogEntry(entry); 
} 

控制器本身具有RequestMapping設置爲「/ blog」。我找不到問題。我在「dao.addBlogEntry(entry)」上設置了一個斷點,並發現傳入的對象的EntryName和EntryBody的值爲空值。但是,當我在JavaScript控制檯中檢查「$('#add-be-title').val()」和「CKEDITOR.instances.addBeBody.getData()」的值時,它們具有正確的值。

任何想法?

+0

什麼在http://yourserver.com/snapdragon/blog/new迴歸變量瀏覽器如果允許GET – mplungjan

+1

可能是瀏覽器開發工具中的檢查請求消息。我的意思是devTools中的Network/Net標籤。你可以找到你的請求消息,頭文件等等。 –

+0

當我允許GET時出現400錯誤請求錯誤,而500內部服務器出現上述錯誤。 500錯誤讀取,**「HTTP狀態500 - 請求處理失敗;嵌套異常是org.springframework.dao.DataIntegrityViolationException:** –

回答

0

區分大小寫在Ajax中也很重要。

能否請您檢查EntryNameEntryBody變量的情況下,靈敏度在BlogEntry類。

聲明的變量應在駝峯狀「entryBody」和「entryName」和相應的制定者可能會像getEntryBody(),setEntryBody()等

因此,請修改您的數據屬性,在阿賈克斯打電話以及在你的類具有相同的情況下(駝峯),那就是「entryBody」和「entryName

相關問題