多数の div を含む HTML ドキュメントがあります。各 div には一意の ID があります。スクリプトを作成したので、別の要素を div の 1 つにドラッグ アンド ドロップすると、ドロップされた div が認識されます。
- 例として、div の id が「5」の場合:
- コードのアラートに「5」が表示されます。
- doAjaxPost メソッドの 2 番目のアラートで、「5」が表示されます
- しかし、ajax を呼び出して、コードがセッターにヒットしたときに categoryId を spring mvc メソッドに渡すと、「234674,5」のようなものが含まれるように変更されます。
何が起こっているのか、それを解決する方法はありますか?
My code:
$(".category").bind("drop", function (event) {
if (event.preventDefault) event.preventDefault();
alert($(this).attr("id"));
doAjaxPost($(this).attr("id"));
return false;
});
function doAjaxPost(categoryId) {
$.ajax({
type: "POST",
url: "/aMethod.html",
data: "categoryId=" + categoryId,
success: function(response){
// we have the response
},
error: function(e){
alert('Error: ' + e);
}
});
}
これは、呼び出される spring mvc メソッドです。
@RequestMapping(value = "/aMethod", method = RequestMethod.POST)
public @ResponseBody String createEvent(@ModelAttribute(value="Item")
Item item, BindingResult result) {
itemService.saveItem(item);
return "A Response";
}
アイテム オブジェクト:
package com.pk.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "item")
public class Item {
@Id
@GeneratedValue
@Column(name = "bi_id")
private int id;
@Column(name = "bi_category_id")
private String categoryId;
@Column(name = "bi_item_name")
private String itemName;
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
}