You may check our answer to your question here:
I'll copy-page the massage just in a case:
If after entering address details your checkout looks somewhat like
... most likely the reason why the issue occurs is because your
service doesn't provide the correct response to the
You can check what the server response in the browser console:
The inability of Magento 2 to process cases with invalid JSON in a
server response makes the script put a high load on the browser (it
just gets in a loop). Plus, the script creates a big amount of
"s_method_undefined_undefined" methods ("undefined" means that when
sending a query, no response was received, since the object is empty).
In most cases, the issue was caused by the absence of these php.ini
date.timezone = America/New_York
always_populate_raw_post_data = -1
Right after you add them, the checkout should start working as
Most likely, a similar issue can occur because of other missing php
settings -- they can trigger errors when executing the code.
Also, most likely, disabling error display (magento deploy:mode:set
production) will let you avoid such behaviour at the checkout step.