Reputation: 66777
The javascript:
$.getJSON('/jsonView', {
tag: "userName",
userName: 'zjm1126'
}, function (H) {
if (H.result == "successName") {
F.showOk(h.ok);
} else {
if (H.result == "existName") {
F.showErr(h.userNameExist);
}
}
});
The view:
def jsonView(request):
# What would go here?
def json_view(request):
import json
username=request.GET.get('username')
result='successName'
if username:
try:
user=User.objects.get(username=username)
result='existName'
except User.DoesNotExist:
pass
return HttpResponse(json.dumps({'result': result}))
it makes 500 INTERNAL SERVER ERROR.
why???
Upvotes: 0
Views: 745
Reputation: 6328
This is relatively straightforward
def json_view(request):
username=request.GET.get('username')
result='successName'
if username:
try:
user=User.objects.get(username=username)
result='existName'
except User.DoesNotExist:
pass
return HttpResponse(simplejson.dumps({'result': result}))
Upvotes: 1
Reputation: 9331
It's pretty simple:
application/javascript
1 and 2 are like any other view. If you don't know how to do 3, check out django.http.HttpResponse.__init__
Upvotes: 0
Reputation: 99821
I suggest you work your way through James Bennett's tutorial on using AJAX with Django - he includes details on writing views that return JSON.
Upvotes: 2