js如何调用带接收参数的webservice..就20分了,都给你

took123 2011-05-19 05:10:46
用JS去调用webservice,取到返回的xml数据。

webservice中的方法需要接收参数,这参数是实体类。。现在不能改webservice代码

实体类得结构我知道,我在js里怎么调用啊 ,怎么传参数

谢谢了

请提供代码或相关资料
...全文
613 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonkong 2012-03-21
  • 打赏
  • 举报
回复
擦,网上找了很多,但是每次都不成功。
后来我直接在ie上看自己的web服务,才发现请求和他们的不一样。
大家要是不成功,就记得看自己web服务的soap请求需要的xml格式数据哦
took123 2011-05-23
  • 打赏
  • 举报
回复
var URL = "Url/方法名";
var data;
data = '<?xml version="1.0" encoding="utf-8"?>';
data = data + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
data = data + '<soap12:Body>';
data = data + '<方法名 xmlns="http://tempuri.org/">';
data = data + '<参数>123</vBlockID>';
data = data + '</方法名>';
data = data + '</soap12:Body>';
data = data + '</soap12:Envelope>';
createXMLHttpRequest();
if (xmlHttp == null) {
alert("不能创建 XmlHttpRequest 对象");
return;
}
xmlHttp.open("POST", URL, true);
xmlHttp.SetRequestHeader("Host", "webservicve域名");
xmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttp.setRequestHeader("Content-Length", "length");
xmlHttp.SetRequestHeader("SOAPAction", "http://tempuri.org/方法名");
xmlHttp.onreadystatechange = function() {
//alert(xmlHttp.readyState);
//alert(xmlHttp.status);
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var userList = xmlHttp.responseText;
alert(userList);
}
else {
xmlHttp.status弹出500
alert("xmlHttp.readyState= " + xmlHttp.readyState + "xmlHttp.status=" + xmlHttp.status);
}
};
xmlHttp.send(data);

}
子夜__ 2011-05-19
  • 打赏
  • 举报
回复
houyanjun 2011-05-19
  • 打赏
  • 举报
回复
你先尝试着用下面这个方法,这里的代码都是html和js,对于你应该不成问题。

http://hi.baidu.com/myalgorithm/blog/item/41fb5ce5af2f9f3bb8382049.html
houyanjun 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 took123 的回复:]

ly89924 别误会 没有埋怨你的意思

我是html项目 不搞CS代码的
[/Quote]

你再去问下开发这个webservice的人员,你要用的实体对象是否支持序列化。如果不支持,之前的webservice方法又不能修改,我也不知道怎么办。需要关注学习这个,打上标记【关注】
took123 2011-05-19
  • 打赏
  • 举报
回复
ly89924 别误会 没有埋怨你的意思

我是html项目 不搞CS代码的
xuexiaodong2009 2011-05-19
  • 打赏
  • 举报
回复
声明一个 var 类型,跟响应的字段赋值,一定要和实体类的字段名称一致,系统会把这个变量转换为实体类的
我是来接分的 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 took123 的回复:]

搞什么啊 我是要js直接调用 调什么后台方法啊
[/Quote]

真郁闷 帮你解决问题什么态度
我是来接分的 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 took123 的回复:]

搞什么啊 我是要js直接调用 调什么后台方法啊
[/Quote]

现在问题是参数不是字符串 是实体啊 你JS怎么直接调用啊 所以要借助后台


took123 2011-05-19
  • 打赏
  • 举报
回复
搞什么啊 我是要js直接调用 调什么后台方法啊

我是来接分的 2011-05-19
  • 打赏
  • 举报
回复
要下班了啊
我是来接分的 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 took123 的回复:]

请说详细点啊 。。

(实例化参数的实体)???
[/Quote]

Ajax调用你后台一个方法 在这个方法中实例化传入webservice的参数(结构你知道) 再在这个方法中调用webservice 获取返回值 回传给客户端
took123 2011-05-19
  • 打赏
  • 举报
回复
难道这么早就都下班了吗?
took123 2011-05-19
  • 打赏
  • 举报
回复
请说详细点啊 。。

(实例化参数的实体)???
我是来接分的 2011-05-19
  • 打赏
  • 举报
回复
中间多加一步(实例化参数的实体) 然后再调webservice
took123 2011-05-19
  • 打赏
  • 举报
回复
问题是参数是实体啊 有序列化反序列化的机制在里面吗?
qq147258368 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ly89924 的回复:]
ajax 你懂的
[/Quote]
我新手 .net群:6102686 欢迎各位新手,高手,加入
meceky 2011-05-19
  • 打赏
  • 举报
回复
// C#
[WebMethod]
public string get(string id)
{}

// js
data:{"id":"value"}
我是来接分的 2011-05-19
  • 打赏
  • 举报
回复
ajax 你懂的

62,266

社区成员

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

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

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

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