jQuery post requests with a json response, sans eval()
If you enjoyed this article, please leave a comment,
subscribe to my RSS feed and/or
follow me on Twitter. Thank you very much!
I know some of you out there are probably tired of jQuery and people raving about it's goodness, but bare with me! Because jQuery never ceases to amaze me — especially when I haven't looked at it — or client-side JavaScript code in general — in a good year or so.
Refactoring
I've been refactoring some of my old JavaScript libs on a project and I noticed that I had used evil eval() all over the place to parse the JSON from our API. Guess we all know that this is not just a security issue since it allows code execution, but also a performance hit. And here's how to get around it. :-)
A codesnippet to automatically parse a JSON response from a $.post-request:
$.post(
'/the-url-post-to',
data,
function(json) {
// handle response
},
'json'
);
Note: The 4th parameter 'json' in $.post(). Magic.
Fin
That's all.