2009-12-04 3 views
0

я в настоящее время имеют следующие в моей точки зренияIIS6 Javascript маршрутизации вопросы

function loadData() { 
    var url = "/Testx.mvc/GetData"; 
    var id = "111111"; 
    var format = "html"; 

    $.ajax({ 
     url: url, 
     type: "POST", 
     dataType: format, 
     data: "id=" + id, 
     success: populateResults 
    }); 
} 

function populateResults(result) { 
    $('#results').html(result); 
} 

У меня также есть контроллер, называемый TestxController с помощью метода действия под названием GetData (INT? Идентификатор). Теперь вызов ajax выше работает на встроенном сервере разработки Visual Studios 2008, но когда я его переключаю на использование веб-сервера IIS, это не так. Похоже, что маршрут не найден, потому что я попытался поставить точку останова на GetData, но он даже не доходит до него. Кто-нибудь знает, что мне нужно сделать, чтобы исправить это?

Редактировать: Я также пробовал метод сопоставления подстановок, обсуждавшийся в http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx, и он отлично работал. (Конечно, мне пришлось удалить .mvc из URL-адреса) Есть ли способ заставить это работать с расширением .mvc?

Thanks

+1

никогда не меня. чувство головокружение. ответ был полностью хромым. ^^ –

+0

Некоторые подсказки => используйте $ .get, используйте JSON для передачи данных (данные: {id: id}), используйте route debugger. Может быть полезно. –

+0

Вверните его. Я не понимаю, как правильно форматировать гиперссылку в комментариях. –

ответ

1

Возможно, Testx.mvc в корне Вашего веб-сервера? Если ваше приложение запущено в виртуальном каталоге в IIS, то правильным путем будет что-то вроде /YourApp/Testx.mvc/GetData.

Встроенный веб-сервер Visual Studio может размещать Testx.mvc у root, поэтому он работает в VS.

Если это так, попробуйте использовать относительный путь Testx.mvc/GetData, а не /Testx.mvc/GetData.

0

Есть ли настоящая функция, называемая «обратный вызов»? Просто спрашивайте, потому что кажется, что вы могли бы назвать «populateResults» успешным ответом.

Попробуйте это возможно:

$.ajax({ 
    url: url, 
    type: "POST", 
    dataType: format, 
    data: "id=" + id, 
    success: function(results){$('#results').html(result)} 
}); 

Вы проверили ваши настройки МКС, чтобы увидеть, если он поддерживает действие POST? Это может быть только указание действия GET ... см. http://haacked.com/images/haacked_com/WindowsLiveWriter/07de283cb368_B754/application-mappings_3.png

+0

oh nevermind, кажется, вы исправили это в редакции – SimonDever

+0

да простите об этом – zSynopsis

+0

Да ничего не изменило. Спасибо хоть – zSynopsis

Смежные вопросы