ホームページ > php教程 > PHP开发 > パラメータを渡す JQuery Ajax WebService の簡単な例

パラメータを渡す JQuery Ajax WebService の簡単な例

高洛峰
リリース: 2016-12-08 10:47:56
オリジナル
1372 人が閲覧しました

jQuery を使用して Asp.NET に Ajax を実装する場合、サーバー側で aspx、ashx、および WebService を使用できます。最近 WebService メソッドを勉強しました。この投稿では、jQuery Ajax メソッド呼び出しの非常に詳細な例と、Asp.Net WebService メソッド呼び出しの詳細なサンプル コードを示しますが、詳細な説明はありません。最初は注意を払わなかった詳細がいくつかありましたが、それらを解決するには多大な労力がかかりました:

1) クライアント データのキー フィールド名は、サーバー側のメソッド パラメーターと厳密に一致している必要があります。

たとえば、クライアント:

//有参数调用
   $(document).ready(function () {
     $("#btn2").click(function () {
       $.ajax({
         type: "POST",
         contentType: "application/json",
         url: "WebService.asmx/GetWish",
         data: "{value1:'心想事成',value2:'万事如意',value3:'牛牛牛',value4:2009}",
         dataType: 'json',
         success: function (result) {
           $('#dictionary').append(result.d);
         }
       });
     });
   });
ログイン後にコピー

サーバー側の GetWish 関数パラメータは、value1、value2、value3、value4 として記述する必要があります:

[WebMethod]
public string GetWish(string value1, string value2, string value3, int value4)
{
  return string.Format("祝您在{3}年里 {0}、{1}、{2}", value1, value2, value3, value4);
}
ログイン後にコピー

2) クライアントが行うメソッドサーバーにオブジェクトを渡す:

クライアントコード:

//传入对象
   $(function () {
     $("#btn6").click(function () {
       obj = new Object();
       obj.ID = "1";
       obj.Value = "aaa";
       //'{"obj":{"ID":"1",Value:"Horse"}}'
       var d = '{"obj":' + JSON.stringify(obj) + '}';
       $.ajax({
         type: "POST",  //访问WebService使用Post方式请求
         contentType: "application/json", //WebService 会返回Json类型
         url: "WebService.asmx/ParmsObject", //调用WebService的地址和方法名称组合 ---- WsURL/方法名
         data: d,     //这里是要传递的参数,格式为 data: "{paraName:paraValue}",下面将会看到   
         dataType: 'json',
         success: function (result) {
           alert(result.d);
         },
         error: function (result) {
           alert("fail");
         }
       });
     });
 
   });
ログイン後にコピー

サーバー側コード:

[WebMethod]
public string ParmsObject(Class1 obj)
{
 
  return obj.ID + ":" + obj.Value;
}
ログイン後にコピー

デバッグ環境: VS2010+jquery-1.3.2.min.js


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート