Предполагая, что вы создаете новую запись и не обновляется один, вы можете использовать метод 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.
EDIT:
Что касается Вашего комментария запроса, в случае, если вы хотели бы отправить объект, используя dojo/request/xhr
вместо JsonRest
, вы можете использовать следующий пример, в основном:
Используйте утилиту dojo/dom-form
, чтобы получить значения из вашей формы. Эта функция утилиты вернет объект. More info here.
Использовать dojo/request/xhr
для отправки через Ajax объекта, ранее полученного от dojo/dom-form
, это данные, отправленные на сервер. More info here.
Быстрый демо здесь:
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