How can I throw an exception on my server and have the exception’s message be read in JavaScript (I’m using AJAX with jQuery). My server environment is Google App Engine (Python).
Here’s my server code:
def post(self):
answer_text = util.escapeText(self.request.get("answer"))
# Validation
if ( len(str(answer_text)) < 3):
raise Exception("Answer text must be at least 2 characters long.")
return
And here’s the AJAX request:
$.ajax({
type: "POST",
url: "/store_answer.html",
data: "question_id=" + question_id +"&answer="+answer,
success: function(responseText){
handleSuccessfulAnswer(question_id);
},
error: function(responseText){
// TODO: How to get the exception message here???
alert("???????????");
},
complete: function(data) {
submitCompleted(submitName, "Submit");
}
});
Thanks!
On the server, you need to catch the exception in a try/except block and turn it into a proper HTTP error (with code 500, generic server error, if a server error is what’s happened — 3xx if the problem is with the request, &c — see here for all the HTTP status codes) with the
Response‘s set_status method.