日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js调用WebService(复杂对象传入)[原创]

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js调用WebService(复杂对象传入)[原创] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創地址:http://longtianyu1.blog.163.com/blog/static/998196520111019315663/

實現原理,通過POST SOAP 1.2協議內容,實現復雜對象的傳入

POST /Main.asmx HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
? <soap12:Body>
??? <HelloWorld xmlns="http://tempuri.org/">
????? <user>
??????? <UserID>int</UserID>
??????? <UserName>string</UserName>
????? </user>
??? </HelloWorld>
? </soap12:Body>
</soap12:Envelope>

WebService User.cs 傳入對象

??? public class User
??? {
??????? public int UserID { get; set; }
??????? public string UserName { get; set; }
??? }

WebService Main.asmx.cs 服務

??? [WebService(Namespace = "http://tempuri.org/")]
??? [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
??? [System.ComponentModel.ToolboxItem(false)]
??? // 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
??? [System.Web.Script.Services.ScriptService]
??? public class Main : System.Web.Services.WebService
??? {

??????? [WebMethod]
??????? public string HelloWorld(User user)
??????? {
??????????? return "Hello World" + user.UserName;
??????? }
??? }

HTML頁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
??? <title></title>
??? <script src="_Script/jquery-1.6.4.js" type="text/javascript"></script>
??? <script type="text/javascript">
??????? function makeSOAP(content) {
??????????? return '<?xml version="1.0" encoding="utf-8"?>'
??????????????? + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
??????????????? + '? <soap12:Body>'
??????????????? + content
??????????????? + '? </soap12:Body>'
??????????????? + '</soap12:Envelope>';
??????? }
??????? $(function () {
??????????? $.ajax(
??????????? { url: "/Main.asmx",
??????????????? type: "POST",
??????????????? contentType: "application/soap+xml; charset=utf-8",
??????????????? data: makeSOAP('<HelloWorld xmlns="http://tempuri.org/"><user>??????? <UserID>2</UserID>??????? <UserName>string</UserName>????? </user>??? </HelloWorld>'),
??????????????? success: function (xml) {
??????????????????? $("#info").text($(xml).find("HelloWorldResult").text())
??????????????? }
??????????? });
??????? });
??? </script>
</head>
<body>
??? <div id="info"></div>
</body>
</html>

總結

以上是生活随笔為你收集整理的js调用WebService(复杂对象传入)[原创]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。