Я согласен, вам нужна обработка ошибок и т. Д. Я использую Dojo, вот код из моего блога
var myEdition = {"Edition":{“author”:”x”, “title”"isbn":"44"}};
var xhrArgs = {
url: http://myhost/LibraryWink/library/editions,
postData: dojo.toJson(myEdition),
handleAs: "json",
headers: { "Content-Type": "application/json"},
load: function(data) {
dojo.byId("mainMessageText").innerHTML
= "Message posted.";
},
error: function(error) {
dojo.byId("mainMessageText").innerHTML
= "Error :" + error;
}
};
dojo.byId("mainMessageText").innerHTML
= "Message being sent…";
var deferred = dojo.rawXhrPost(xhrArgs);
Важными моментами здесь являются а). фреймворк, такой как dojo (или я думаю, jquery) помогает б). есть обработка ошибок.
У меня также есть некоторые мысли в целом об услугах REST и обработке ошибок.