2012-01-04 3 views
0

У меня есть действие в MobileController под названием «MyAction» и я называю это с JavaScript следующим образом:Получение ссылки на действие?

<script type="text/javascript"> 
    function SubmitData() { 

     $.ajax(
      { 
       type: "POST", 
       url: "http://localhost:1613/Mobile/myaction", 
       data: "id to post", 
       success: 
       function (result) { 
        window.alert("SUCCESS"); 
       }, 
       error: function (req, status, error) { 
        window.alert("ERROR!"); 
       } 
      } 
      ); 
    } 
</script> 

Обратите внимание, однако URL не использует относительные пути, я пытался сделать это только ~/Мобильная связь/MyAction но это не сработало.

Любые идеи, как я могу это сделать, чтобы указанный указатель указывал на работу во всех случаях, а не только в том случае, если домен является localhost: 1613? Например, если я загрузил его на mysite.com, он найдет действие на mysite.com/mobile/myaction.

Спасибо за помощь!

+0

какая ошибка вы получаете –

+0

попробуйте просто вызвать действие как myaction все о пути URL-адреса хороший способ грузовика это с помощью веб-консоли в Firefox и см. запрашивающий URL-адрес –

+0

Относительные URL-адреса работают! Вы можете проверить свой вызов ajax в Firebug и проверить, какой URL-адрес вызывается? –

ответ

2

Замените URL на:

url: "/Mobile/myaction" 

С ~ знаком, он будет работать только с сервера управления/функций.

3

Вы пробовали:

url: "@Url.Action(....)", 
+0

сокращен до версии. Сделал меня набирать явно больше, чем нужно ... – Sascha

1

Вы можете использовать что-то вроде этого:

new UrlHelper(HttpContext.Current.Request.RequestContext).Action("<action>", "<controller>", new { id = 1 }) 

Я использую это точно передать значения в яваскрипте функции

2
url: "@Url.Content("~/appName/Mobile/myaction/")" 


Html :: "/ appName/Mobile/myaction /"
Я предлагаю вам предоставить ваше приложение Виртуальный путь "/ app Имя ", сделав это, я позволю вам избегать appName в url

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