Thanks very much @icc0rz.
The AJAX stuff seems to be clean.
I turned on error logging in WP and am seeing
WordPress database error Field 'tutorial_url' doesn't have a default value for query INSERT INTO ...
I’m looking into whether strict mode in the db may be at least partially to blame.