2012-05-17 73 views
0

Righto,我想要實現的是如下得到服務器變量:如何通過AJAX/.getJSON()

我OnLoad事件建立了一個JSON字符串,並將其存儲爲一個變量(讓我們稱它爲x) 然後,我可以訪問該變量客戶端爲<%= x%>。所有好的 - 我有我需要從客戶端服務器上的數據。

但是,我不想做的事情是讓源中的變量可見。我想通過jQuery來訪問它,並把它添加到一個元素,就像我可以用一個靜態文件:

$.ajax({ 
    url: "myData.html", 
    success: function (data) { 
    $("#holder").html(data);  
    } 
}); 

我想我需要的是能夠替代這一行:

url: "myData.html", 

參考服務器變量x。那可能嗎?我可以使用OnLoad/PageLoad將x寫入靜態文件,然後通過ajax抓取,但這似乎是不必要的額外步驟。有任何想法嗎?

ň

+1

這就是使用服務的目的,你應該看看構建一個WCF服務。如果您使用WebForm,您可以在頁面中創建一個[WebMethod]來執行此操作,如果使用MVC,則可以使用控制器操作。 – Zachary

回答

0

如果你有IIS設置來處理.js文件或者如果這是你的頁面上內聯JS你可以在JavaScript中創建像變量:

var serverval = '<%= Request.ServerVariable['LOCAL_ADDR'] %>';

你也可以創建一個隱藏的表單元素/ ASP:隱藏並在回發/加載中更新該值並參考它:

<input type='hidden' id='serverval' value='whatever you put ' /> var serverval = $('#serverval').val();

http://forums.asp.net/t/1289684.aspx/1