Это похоже на этот вопрос , но это не решило мою проблему, так как именно так я с этим справляюсь.
$("#code").live("change", function() {
var data = { codeId: $(this).find(":selected").attr("id") };
$.ajax({
type: "GET",
url: codeUrl,
data: data,
success: function(html) {
// never gets hit if EmptyResult();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
// never gets hit until page navigation, which aborts this call
}
});
});
[HttpGet]
public ActionResult CodeParameters(int codeId)
{
IList<AdjustmentParameter> parameters = GetCodeParameters(codeId);
if (parameters == null || !parameters.Any())
return new EmptyResult();
return PartialView("EditorTemplates/AdjustmentParameters", parameters);
}
Любой код, который возвращает HTML, работает должным образом, но любой код, который возвращает new EmptyResult()
, кажется, прерывает вызов ajax. Должен ли я делать что-то по-другому? Как ни странно, этого не происходит на 3 разных веб-серверах, только на общедоступном сервере (естественно).