【发布时间】:2014-02-28 11:03:32
【问题描述】:
我是 jQuery 的新手。我需要在 jQuery 中实现的是调用一个用 Python 编写的 Web 服务,并根据我收到的消息显示适当的消息作为回报。 下面是我目前写的jQuery代码。
$(document).ready(function(){
$("#loginForm").submit( function () {
data = $(this).serialize()
var serviceUrl = MyServiceUrl;
$.ajax({
type: "POST",
url: serviceUrl,
data: data,
success:loginSuccess,
failure: loginFailure
});
return false;
});
});
function loginSuccess(data){
alert(data.status);
}
function loginFailure(data){
alert(data.status);
}
在我提交表单时,在我的 HTML 表单上,我的呼叫转到了我的 Web 服务。但是在收到响应后,它不会像上面指定的那样转到我的成功或失败回调函数。下面是返回状态的 web 服务的 python 代码。它可以返回 case 1 或 case 2
案例一:
to_json = {"status": "success"}
return HttpResponse(simplejson.dumps(to_json), mimetype="application/json")
案例 2:
to_json = {"status": "error","message": str(e)}
return HttpResponseBadRequest(simplejson.dumps(to_json), mimetype="application/json")
【问题讨论】:
-
嗯,你应该调用类似:success:loginSuccess(data)?
-
如果我这样做,它会在将请求发送到 Web 服务之前调用成功和失败函数。但是一旦收到响应,它就不会成功或失败。
标签: jquery python ajax web-services jquery-callback