假設你正在創造一個新的記錄,而不是更新一個,你可以使用方法add(object, options)
您JsonRest
。
實施例:
require(["dojo/store/JsonRest"], function(JsonRest){
// your store
var store = new JsonRest({
target: "/some/resource"
});
// add an object passing an id
store.add({
foo: "foo"
}, {
id: 1
});
});
更詳細的信息可以在JsonRest API和JsonRest guide找到。
編輯:
至於您的評論的要求,如果你想使用dojo/request/xhr
,而不是JsonRest
發送對象,你可以使用下面的例子,基本上是:
快速演示在這裏:
https://jsbin.com/mocoxuhotu/edit?html,output
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css">
<script data-dojo-config="async: 1" src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<script>
require([
"dojo/query",
"dojo/dom-form",
"dojo/request/xhr",
"dijit/registry",
"dijit/form/Form",
"dojo/parser",
"dojo/domReady!"
], function (
query,
domForm,
xhr,
registry,
Form,
parser
) {
var form = new Form({}, 'myForm');
query("a.myLink").on("click", function() {
var data = domForm.toObject(form.domNode);
xhr.post("/echo/json", {
data: data // data to transfer
}).then(function() {
console.log("Success");
});
});
});
</script>
</head>
<body class="claro">
<form data-dojo-type="dijit/form/Form" id="myForm">
<fieldset>
<ul>
<li>
<label for="name">Name:</label>
<input type="text" name="name" />
</li>
<li>
<label for="firstname">First name:</label>
<input type="text" name="firstname" />
</li>
</ul>
</fieldset>
</form>
<a class="myLink">Submit the form</a>
</body>
</html>
我已經記錄列表和點擊事件中,我編輯的一個記錄的不同值。然後我想通過調用我的彈簧控制器將值保存到數據庫中。 – coder247
嗨,我提供的例子只是告訴你如何做到這一點,基本上調用store.add()當你保存你的記錄。如果您可以爲我的表單提供您的代碼的jsfiddle,我可以爲您提供有關您的實際實施的更詳細的示例。謝謝。 – GibboK
但是不可能在沒有創建商店的情況下使用dojo發送表單? – coder247