After doing more research on the Telerik forums, it seems that the Telerik grids will often give the error messages I'm seeing in a popup div element like "the requested url did not return json". However in all of these cases, the server returns a 500 code in the headers, along with the actual error message in the respone body.
In this case, again, I have installed nop 2.0 locally using the latest source code. I upgraded a 1.9 database, everything works great locally. I move everything up to my web host on a fresh website, with its own IP address. The main site is fine. The admin area is fine except for anything that uses grids.
Inspecting in Firebug reveals that on the remote server, my web browser makes the normal request to the server to go to page 2 of a grid. But then the application reacts differently than it does on my local machine. Instead of responding with HTTP 200 and actual JSON code, it is doing this:
* Responding with 301, and a location header to send to a different page
* My browser stays on the page I am on (b/c the 301 came from an AJAX request), but does make a second AJAX call to request the 301 target. In this case the page either exists, and I get a 200 back along with some HTML (which then makes the AJAX fail because the response was not the JSON it expected)
* OR, it ends up responding with a 302 to send me to an error page.
Here is a complete example of the request/response trail on the admin screen for products.
I go here: /Admin/Product/List/
I click on the "2" button to go to the next page. Here is what we see in Firebug:
Host: www.MyDomain.Com
###### REQUEST #1 (POST) ######
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
Accept: text/plain, */*; q=0.01
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://www.MyDomain.Com/Admin/Product/List/
Content-Length: 75
Cookie: fc=fcVal=1752317306470848000; Nop.customer=18c4f7dc-2964-41db-9611-8a313bf672d3; NopCommerce.RecentlyViewedProducts=RecentlyViewedProductIds=462&RecentlyViewedProductIds=360&RecentlyViewedProductIds=355&RecentlyViewedProductIds=126; ASP.NET_SessionId=a3l5n4bgg2gaslujkoac35u2; NOPCOMMERCE.AUTH=2B016D2B404C4F2137560E6B8AAE86DF6897A5F5F6C767B987C9BFA55E281879D7A7BEC5B0DB93341C800DB99A8A1C5243B0F5B76A960DC6E9051C063C826EE822088F78D18EF1193208C644EFDBFD9888F6C0F13989A1B8D2BC8147D05C0DCAFBE0202642BCA2F3F50CF24B8DCB36641EFA77E526A1534D70B928502F2996E99CB815B30F5B28B2FBFA123C74968B8D2C86DE721E69858694B5DD343BFA4436
DNT: 1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
page=2&size=15&SearchProductName=&SearchCategoryId=0&SearchManufacturerId=2
###### RESPONSE #1 ######
Content-Type: text/html; charset=UTF-8
Location: http://www.MyDomain.Com/Admin/Product/ProductList/?products-grid-size=15
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Wed, 31 Aug 2011 13:37:40 GMT
Content-Length: 209
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Resource not found</title>
</head>
<body>
<h1>
We're sorry, there is no Web page matching your request.</h1>
<p>
It's possible you typed the address incorrectly, or that the page no longer exists.
In this case, we profusely apologize for the <b>inconvenience</b> and for any damage
this may cause.
</p>
</body>
</html>
###### REQUEST #2 (GET) ######
Host: www.MyDomain.Com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Referer: http://www.MyDomain.Com/Admin/Product/List/
Cookie: fc=fcVal=1752317306470848000; Nop.customer=18c4f7dc-2964-41db-9611-8a313bf672d3; NopCommerce.RecentlyViewedProducts=RecentlyViewedProductIds=462&RecentlyViewedProductIds=360&RecentlyViewedProductIds=355&RecentlyViewedProductIds=126; ASP.NET_SessionId=a3l5n4bgg2gaslujkoac35u2; NOPCOMMERCE.AUTH=2B016D2B404C4F2137560E6B8AAE86DF6897A5F5F6C767B987C9BFA55E281879D7A7BEC5B0DB93341C800DB99A8A1C5243B0F5B76A960DC6E9051C063C826EE822088F78D18EF1193208C644EFDBFD9888F6C0F13989A1B8D2BC8147D05C0DCAFBE0202642BCA2F3F50CF24B8DCB36641EFA77E526A1534D70B928502F2996E99CB815B30F5B28B2FBFA123C74968B8D2C86DE721E69858694B5DD343BFA4436
DNT: 1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
###### RESPONSE #2 ######
Cache-Control: private
Content-Type: text/html; charset=utf-8
Location: /filenotfound.htm?aspxerrorpath=/Admin/Product/ProductList/
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 31 Aug 2011 13:37:40 GMT
Content-Length: 176
Reload the page to get source for: http://www.MyDomain.Com/Admin/Product/ProductList/?products-grid-size=15
###### REQUEST #3 ######
Host: www.MyDomain.Com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Referer: http://www.MyDomain.Com/Admin/Product/List/
Cookie: fc=fcVal=1752317306470848000; Nop.customer=18c4f7dc-2964-41db-9611-8a313bf672d3; NopCommerce.RecentlyViewedProducts=RecentlyViewedProductIds=462&RecentlyViewedProductIds=360&RecentlyViewedProductIds=355&RecentlyViewedProductIds=126; ASP.NET_SessionId=a3l5n4bgg2gaslujkoac35u2; NOPCOMMERCE.AUTH=2B016D2B404C4F2137560E6B8AAE86DF6897A5F5F6C767B987C9BFA55E281879D7A7BEC5B0DB93341C800DB99A8A1C5243B0F5B76A960DC6E9051C063C826EE822088F78D18EF1193208C644EFDBFD9888F6C0F13989A1B8D2BC8147D05C0DCAFBE0202642BCA2F3F50CF24B8DCB36641EFA77E526A1534D70B928502F2996E99CB815B30F5B28B2FBFA123C74968B8D2C86DE721E69858694B5DD343BFA4436
DNT: 1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
###### RESPONSE #3 ######
Content-Type: text/html
Last-Modified: Fri, 26 Aug 2011 13:35:15 GMT
Accept-Ranges: bytes
Etag: "d26a44fdf463cc1:0"
Server: Microsoft-IIS/7.5
Set-Cookie: Nop.customer=18c4f7dc-2964-41db-9611-8a313bf672d3; expires=Thu, 30-Aug-2012 13:37:40 GMT; path=/
X-Powered-By: ASP.NET
Date: Wed, 31 Aug 2011 13:37:40 GMT
Content-Length: 562
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Resource not found</title>
</head>
<body>
<h1>
We're sorry, there is no Web page matching your request.</h1>
<p>
It's possible you typed the address incorrectly, or that the page no longer exists.
In this case, we profusely apologize for the <b>inconvenience</b> and for any damage
this may cause.
</p>
</body>
</html>