Я работаю в приложении MVC 3 с движком ASPX, и в качестве отправной точки я разработал простой поиск, который использует вызов JQuery JSON для получения некоторой информации. Вызов отправляет параметр, взятый из текстового ввода, и обновляет таблицу с результатами. Функция выглядит так:
function PerformLookup() {
var _accountNumber = $('#accountNumber').val();
$.ajax({
url: '/SearchAjax/SearchAccount',
type: 'POST',
data: '{_accountNumber:'+_accountNumber+'}',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
UpdateTable(data);
},
error: function () {
alert('An error occurred while performing the search.');
}
});
return false;
}
Код сервера запускает запрос с этим параметром и возвращает список, сериализованный в JSON для нормальной работы с JQuery. Код сервера выглядит следующим образом:
[HttpPost]
public JsonResult SearchAccount(string _accountNumber)
{
MLIBEntities dbMLIB = new MLIBEntities();
var searchResults = (from s in dbMLIB.Sets
where s.setmap1 == _accountNumber
select s);
return Json(searchResults.ToList());
}
Как видите, в этом нет ничего сложного и он отлично работает, когда я запускаю проект из VS2010 и использую его виртуальную машину.
Проблема возникает, когда я публикую проект на сервере Windows 2008 с IIS 7. Проект работает нормально, но когда я запускаю функцию PerformLookup, я получаю сообщение «Произошла ошибка при выполнении поиска», что означает сбой вызова ajax.
Кто-нибудь знает, почему вызов не работает в IIS, но отлично работает на виртуальной машине VS2010? Мне не хватает какой-либо конфигурации IIS?
Заранее спасибо!