Are you 100% sure your request is returning a status code 200? You’ve put this as the success function, which only fires on a successful request… and it’s (according to you) not firing… so…
Standard Emergency Debugging Step 1: Put console.log’s everywhere (before the parse, after the parse, after the alert)
Standard Emergency Debugging Step 2: Observe the console. The log lines will tell you precisely what’s going on:
No log lines: Your request was not successful.
1 log line: Your parse failed, and you’ve suppressed the error.
1 log line + error: Should be self-explanitory. Your parse failed because of [insert error message here], most likely that your response was not well formatted JSON.
2 log lines: somehow the alert failed.
3 log lines: you’ve suppressed alerts (check your extensions/plugins) and the script ran fine.