2015-01-08 64 views
0

我在調用方法時遇到了麻煩。我可以用下面的代碼來完成,但是如何在我的電話中輸入js var?Javascript的Html.Action包含js var作爲參數

  $.ajax({ 
       url: '@Url.Action("surfacepost", "surface", new { text = "ThisSchouldBeAJaVar" })', 
       method: 'GET', 
       success: function (data) { 

       } 
      }); 

事實上,這個mthode正在變得部分,因爲我要展示。所以如果有更好的方式動態加載部分使用js,請讓我知道。 謝謝

回答

1

問題是,'@ Url.Action()'方法是由.NET執行的,在頁面被髮送到瀏覽器之前,它不知道頁面上的任何JavaScript,以及執行

var url = '@Url.Action("surfacepost", "surface", new { text = "placeholder" })' 
url.replace('placeholder', ThisSchouldBeAJaVar); 

$.ajax({ 
url: url, 
    method: 'GET', 
    success: function (data) { 

    } 
}); 

或者你可以只輸入:該方法無法通過之後的頁面已經「留在服務器」

你可以做的是創造一個佔位符,並在JavaScript替換它是運行JavaScript的影響url並附加var:

$.ajax({ 
url: '/surface/surfacepost/?text=' + ThisSchouldBeAJaVar, 
    method: 'GET', 
    success: function (data) { 

    } 
}); 
+0

感謝您的支持。你的愛人似乎是邏輯。但是我的[佔位符]沒有被替換。我得到[佔位符]字符串在mthode ...任何好的理想? – user2761009

+0

跳過:[] in placeholder對我做了魔術:-) – user2761009

+0

我編輯了相應的答案 – Stephen