我需要做一些只能在服务器端处理的东西,而不是只在html页面上使用javascript。我已经在我的其他aspx页面上使用这个过程了。但是,这次我需要在html页面上进行这项工作。
到目前为止,我所做的解决方法是在我的html页面中的某处指向一个aspx页面。我在其代码后面执行该过程并将我需要的内容保存在iframe中的隐藏字段中。我现在可以从iframe获取该值并在我的html页面上使用它。
它可以工作,但我认为这样做可能有一个更简单的方法,而不必为了处理而创建一个新的aspx页面。还有另一种方法可以实现这个目标吗?
更新:具体来说,我需要在页面加载时获取用户的位置(国家/地区),以便相应地更改css。我知道有很多网站可以在我的页面上连接到这一点,但我不知道哪一个是安全的。此外,我们已经为我们的aspx页面提供了自己的方法,所以我想使用它。希望此更新有所帮助。
答案 0 :(得分: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);
}
});
});
});
但我真的不知道你要做什么。你真的很模糊。
答案 1 :(得分:0)
是的,更简单的方法是ajax。
这是伪javascript代码......
window.onload = function(){
ajax.open("your server url");
ajax.on("success",function(){
alert("okay, done.");
});
};
答案 2 :(得分: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>