Ajax not working for certain user roles

OK I found the issue.

When directly entering myurl/wp-admin/admin-ajax.php?action= mdjm_update_addon_options into my browser window whilst logged in as an Administrator, I was getting the expected response of 0. However, when not logged in, or logged in as a non-admin, I noticed I was receiving “You do not have sufficient permissions to access this page”.

Looking through my plugin files, I noticed that in my settings class I had the entry…

if( !current_user_can( 'manage_options') )
    die( "You do not have sufficient permissions to access this page." );

Remove this and all is now working fine.