Ajax and Domain Mapping don't play well together.

There seems to be fundamental bug or issue with Domain Mapping and ajax.

I came across it when I was setting up a Q&A site using the Q&A plugin. Everything was working fine, but when I added a unique domain name to it, all the ajax started throwing call undefined errors.

Here the thread where I talked about and another member offered a solution: This is probably an ajax issue that is currently part of using mu and domains. It has to do with loading ajax-admin.php - it can't find it. The fix I found was to disable remote login, and allow the dashboard for that website to use the mapped domain instead of the original subdomain. Check your error console when you try to activate the ajax object and you should see something about call undefined. This is something I experience when trying to setup a Q&A site with the Q&A plugin. This is not plugin specific, but an Ajax/domain mapping issue.

I'm not sure what the fix is, it could either be in WP core or perhaps the Domain Mapping plugin (I'm currently using the one from the repository, not WPMU DEV's)

When you change the settings, you will lose login pass through when the site is navigated to from the main site or other sites on the network, but you will gain ajax function.

This is something that should be looked into and considered a significant bug, because the whole point of a MarketPlace network is to enable seamless shopping across websites without having to constantly login.

Reference: https://premium.wpmudev.org/forums/topic/voting-not-working-getting-ajax-related-error

This came to mind again this morning when I spotted another thread featuring the same type of issue, but this time with the MarketPress plugin: https://premium.wpmudev.org/forums/topic/domain-mapping-and-marketpress-compatibility-in-31-on-subdomain-install

Whenever a unique domain us mapped to a subdomain install, the ajax fails because it cannot find admin-ajax.php because it is looking for it here: subdomain.mydomain.com/wp-admin/admin-ajax.php but it returns a GET undefined error. The only way to get ajax to work is to set allow the dashboard for that particular site to use the mapped domain instead of the original domain, which creates a problem. It also forces a disabling of remote login. Without remote login, login pass-throughs don't happen as users browse the network, they then have to login again to use the site when they get to it.

Now, I am reporting this as the behavior of the domain mapping plugin from the plugin repository (http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/). I admit haven't switched over to WPMU DEV's domain mapping plugin yet because of the labor involved and the inconvenience that it brings to my users. I do not know how WPMU DEV's domain mapping plugin behaves in this regard and I'm hoping that someone will fill me in - if I am going to make the switch and attempt to get everyone on board with it, then I need to know all the facts before I do.