2014-01-06 26 views
-2

我需要做一些只能在服務器端處理的東西,而不是在html頁面上使用javascript。我已經將這個過程用於其他aspx頁面。但是,這次我需要在html頁面上完成這項工作。在html頁面加載,處理服務器端的東西,並將結果發送回html頁面

到目前爲止,我所做的解決方法是在我的html頁面中的某處指定一個aspx頁面。我在後面的代碼上執行該過程,並在iframe的隱藏字段中保存我所需的內容。我現在可以從iframe中獲取該值並將其用於我的html頁面。

它的工作原理,但我認爲可能有一個更簡單的方法來做到這一點,而無需創建一個新的aspx頁面只是爲了處理。有沒有另外一種方法來完成這個?

更新:具體而言,我需要獲取頁面加載用戶的位置(國家),以相應地更改CSS。我知道我的網頁上有很多網站可以連接到我的網站,但我不知道哪一個網站是安全的。此外,我們已經有我們自己的方法來爲我們的aspx頁面,所以我想用它來代替。希望此更新有所幫助。

+0

更簡單的方法是使用'ajax' – Baby

+0

可以請你舉個例子說明如何通過ajax做到這一點?處理方法已經完成。我只需要能夠在HTML上調用它。 – jbdeguzman

+0

聽起來像是會幫助你的東西是AJAX,但很難分辨出理想的解決方案,因爲你目前的情況沒有被詳細描述。例如:爲什麼你不能在請求的頁面中提供所有的信息(爲什麼你需要提出另一個請求)?爲什麼你需要一個隱藏的輸入?你能向我們展示你現有代碼的基本部分,並解釋它爲什麼這樣做嗎? – Barney

回答

0

以下是我將如何做我認爲你解釋。你的問題不是很清楚。

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

$.ajax({ 
     type: "POST", 
     url: "PageName.aspx/MethodName", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
     // Do something interesting here. 
     } 
    }); 

HTML

<html> 
    <head> 
     <title>Calling a page method with jQuery</title> 
     <script type="text/javascript" src="jquery-1.2.6.min.js"></script> 
     <script type="text/javascript" src="Default.js"></script> 
    </head> 
    <body> 
     <div id="Result">Click here for the time.</div> 
    </body> 
    </html> 

JS

$(document).ready(function() { 
     // Add the page method call as an onclick handler for the div. 
     $("#Result").click(function() { 
     $.ajax({ 
      type: "POST", 
      url: "Default.aspx/GetDate", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(msg) { 
      // Replace the div's content with the page method's return. 
      $("#Result").text(msg.d); 
      } 
     }); 
     }); 
    }); 

但同樣我真的不知道你正在嘗試做的。你真的很含糊。

0

是的,更簡單的方法是ajax。

這是僞javascript代碼...

window.onload = function(){ 
    ajax.open("your server url"); 
    ajax.on("success",function(){ 
     alert("okay, done."); 
    }); 
}; 
0

使用的iFrame爲您所請求的過程中,不建議使用。

考慮使用AJAX將請求路由到服務器資源。在你的情況下,它應該是一個asp頁面。

這裏有一個初學者指南使用Ajax和ASP http://www.w3schools.com/asp/asp_ajax_asp.asp

PS:當使用AJAX確保你知道約

下面是一個供您使用的僞代碼:

<script> 
function funcName(){ 
var xmlhttp; 
if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
document.getElementById("<yourOwnElement'sID>").innerHTML=xmlhttp.responseText; 
} 
} 
xmlhttp.open("GET","serverResource.asp?q="+<parameters>,true); 
xmlhttp.send(); 
} 
</script>