高分求教从jscript 中如何访问webserver方法

nikychen 2003-08-20 04:55:19
1)如何从客户端jscript中访问webserver中的某一个方法,并且能接受它的返回值?
2)客户端jscript中理论上说是不是不能访问.aspx页面中的某一个方法。
...全文
40 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nikychen 2003-08-20
  • 打赏
  • 举报
回复
<script>
var replyxml=null; // Use to hold the root node of the responseXML

function InvokeService(src)
{
var loaddoc = new ActiveXObject("Microsoft.XMLHTTP");
replyxml=null;

try{
loaddoc.open( "GET", src, false );
loaddoc.send();
}
catch(e)
{
alert("Invoke failed!");
alert(e.description);
}

//var v=loaddoc.responseXML.documentElement;
var v=loaddoc.responseXML;
if (v) replyxml=v;
//
return loaddoc;
//return v;
}

function Invoke_FuncA(){
return InvokeService("http://localhost/Nick/testWebServer/Service1.asmx?op=HelloWorld");
}
</script>

大家帮忙看看为什么调用函数Invoke_FuncA后读replyxml.text是空的?正确的话应该返回字符窜“HelloWorld”
nikychen 2003-08-20
  • 打赏
  • 举报
回复
Thanks!
panyee 2003-08-20
  • 打赏
  • 举报
回复
对一个aspx, 你要知道

1. 它的strUrl,

2. 采用Post还是Get方式

3. 发送的参数, 传入时 escape(strParam) 一下

发送参数可以采用一定方式, 如
action=add&name=good&address=Beijing

在aspx页面:
string strAction = Request.Form("action").ToString();
string strName = Request.Form("good").ToString();
...


更方便些就让参数用xml字符串, 如
var strXml = "<param><action>add</action><name>helelo</name></param>";
var strRet = GetXmlResult(url, "POST", "param=" + escape(strXml);
alert(strRet);

aspx页面中用
string strXml = Request.Form["param"].ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXml);
....
取数据
acewang 2003-08-20
  • 打赏
  • 举报
回复
旁听
panyee 2003-08-20
  • 打赏
  • 举报
回复
javascript中:


function GetXmlResult(strUrl, strMethod, strParam)
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open(strMethod, strUrl, false);

if (strMethod.toUpperCase() == 'POST'){
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.Send(strParam);
}else{
xmlhttp.Send();
}
if (xmlhttp.status == 200)
return unescape(xmlhttp.responseText);
else
return -1;

}
nikychen 2003-08-20
  • 打赏
  • 举报
回复
panyee(快乐王子): 能给一个访问.aspx页面中的某一个方法的例子吗?
nikychen 2003-08-20
  • 打赏
  • 举报
回复
panyee(快乐王子):谢谢!:)
nikychen 2003-08-20
  • 打赏
  • 举报
回复
cyp503(谁怕?一蓑烟雨任平生):非常感谢!牛!
再请教你一个问题再:怎样通过xmlhttp把请求发到aspx上去让它执行服务端脚本, 然后取得运行后的结果?


等一下给你分,分不够再加。
panyee 2003-08-20
  • 打赏
  • 举报
回复
什么方法都能访问,

event.result.raw
取得它返回的整个xml包
只要对它解析, 就能得到所有的值

发包时也是这样, 如果你按照soap协议构造好xml数据包, 一样可以发到相应的web service


http://msdn.microsoft.com/library/default.asp?url=/workshop/author/webservice/webservice.asp
panyee 2003-08-20
  • 打赏
  • 举报
回复
什么方法都能访问,

event.result.raw
取得它返回的整个xml包
只要对它解析, 就能得到所有的值

发包时也是这样, 如果你按照soap协议构造好xml数据包, 一样可以发到相应的web service


http://msdn.microsoft.com/library/default.asp?url=/workshop/author/webservice/webservice.asp
cyp503 2003-08-20
  • 打赏
  • 举报
回复
<HTML>

<BODY ID="webServiceCallerBody" onload="loadService()" STYLE="behavior:url(webservice.htc); background-color:peachpuff;color:brown;font-size:18">

<SCRIPT LANGUAGE="JavaScript">

<!--

function loadService() {

webServiceCallerBody.onserviceavailable = enableServiceCall();

webServiceCallerBody.useService("http://soap.bluestone.com:80/interop/EchoService/EchoService.wsdl","echo");

}

function callAsynch() {

iCallID = webServiceCallerBody.echo.callService(handleResult, "echoString", "Asynchronous Call");

}

function callSynch() {

var co = webServiceCallerBody.createCallOptions();

co.funcName = "echoString";

co.async = false;

var oResult = webServiceCallerBody.echo.callService(co, "Synchronous Call");

handleResult(oResult);

}



function enableServiceCall() {

b2.disabled = false;

}



function handleResult(res) {

if (!res.error) {

alert("Successful call. Result is " + res.value);

}

else {

alert("Unsuccessful call. Error is " + res.errorDetail.string);

}

}

// -->

</SCRIPT>

<HR><H4>Calls to an echo service</H4><HR><BR><BR>



<BUTTON ID="b1" onclick="callAsynch()">Call Asynchronously</BUTTON><BR><BR>

<BUTTON ID="b2" onclick="callSynch()" disabled>Call Synchronously</BUTTON><BR><BR><BR><BR>



<A HREF="http://www.xmethods.net/ilab/">Interop Testing Site</A>



</BODY>

</HTML>

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧