Использование формы в диалоговом окне Я использую Dojo в jsp для сохранения формы в моей базе данных. После того, как этот запрос завершен с помощью dojo.xhrPost (), я отправляю другой запрос на обновление выпадающего списка, который должен включать добавленный объект формы, который был только что сохранен, но по какой-то причине запрос на обновление выпадающего списка выполняется перед сохранением формы в базе данных, даже если сначала вызывается форма save. Используя Firebug, я вижу, что запрос getLocations () завершен до запроса sendForm (). Это код:
<button type="button" id="submitAddTeamButton" dojoType="dijit.form.Button">Add Team
<script type="dojo/method" event="onClick" args="evt">
sendForm("ajaxResult1", "addTeamForm");
dijit.byId("addTeamDialog").hide();
getLocations("locationsTeam");
</script>
function sendForm(target, form){
var targetNode = dojo.byId(target);
var xhrArgs = {
form: form,
url: "ajax",
handleAs: "text",
load: function(data) {
targetNode.innerHTML = data;
},
error: function(error) {
targetNode.innerHTML = "An unexpected error occurred: " + error;
}
}
//Call the asynchronous xhrGet
var deferred = dojo.xhrPost(xhrArgs);
}
function getLocations(id) {
var targetNode = dojo.byId(id);
var xhrArgs = {
url: "ajax",
handleAs: "text",
content: {
location: "yes"
},
load: function(data) {
targetNode.innerHTML = data;
},
error: function(error) {
targetNode.innerHTML = "An unexpected error occurred: " + error;
}
}
//Call the asynchronous xhrGet
var deferred = dojo.xhrGet(xhrArgs);
}
Почему это происходит? Есть ли способ сделать первый запрос первым, прежде чем будет выполнен второй?
Чтобы уменьшить вероятность того, что это происходит, я попытался установить для свойства cache в xhrGet значение false, но результат все тот же.
Пожалуйста, помогите!