ajax - Django HttpResponse renders html when content_type='application/json' -
i'm tying make ajax call jquery django view. view query external api , returns result. trying return data , manipulate in success callback in ajax call, instead getting rendered html website showing content of response. here code.
my form:
<form class="form-inline" method="get" action="/search/"> <div class="input-group"> <input type="text" class="form-control" id="search" name="search" placeholder="search"> </div> <button id="btn-search" class="btn btn-default" type="submit">search</button> </form> my ajax call:
$('#btn-search').click(function() { var params = { 'query': $('#search').val() } $.ajax({ data: params, url: js_urls['search'], type: 'get', success: function (data) { alert("success"); }, error: function (data) { alert("error"); } }); }) my view:
def search(request): if request.get: params = { 'name' : request.get['search'], } encoded_params = urllib.urlencode(params) response = execute_request(url) return httpresponse(json.dumps(response), content_type='application/json') what get:

obviously, response not being returned ajax function because don't alert message set in both success , error callbacks.
as data send params, has query keyword, , not search. probally keyerror, because don't have search set within querystring. , returns django's yellow error page, html. , check http://api.jquery.com/jquery.getjson/
Comments
Post a Comment