1

私はアプリケーションでajaxを使用しており、この$.postメソッドを使用する必要があります。

通常、サーバーに送信されるデータはキーと値のペアです。私はそれらを通り抜けることができます:

HttpContext.Current.Request.QueryPara['name'];
....

ただし、サーバーに送信されるデータに名前が含まれていない場合があります。

これは単なるxmlセグメントです。

このような:

var data='<data>xxxxx<data>';
$.post('http://server/service.asmx/test',data,function(){
  //callback
},'xml');

次に、Webメソッドでデータを取得するにはどうすればよいですか?

4

2 に答える 2

0

Webメソッドにデータを渡すには、「json」dataTypeを使用する必要があります。

サンプルを見てください:

Service.asmx


[ScriptService]
[WebService(Namespace = "http://localhost/testapp/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService{
   [WebMethod]
   public int Square(int no){ return no * no;}
}

このwebmethodをリクエストするJavaScriptコード

<script type="text/javascript">
$(function () {
    $("#button1").click(function () {
        $.ajax({
            type: "post",
            url: "service.asmx/Square",
            data: "{no: 10}",
            dataType: "json",
            contentType: "application/json",
            success: function (data) {
                alert("Result :" + data.d);
            },
            error: function (src,type,msg) {
                alert(msg); //open JavaScript console for detailed exception cause
            }
        });
    });
});
</script>

<body>
  <input type="button" id="button1" value="Square" />
</body>
于 2012-08-08T01:39:58.590 に答える
0

asp.netでそれができるかどうかはわかりません。ただし、いつでも次のような名前を付けることができます。

var data= { data: '<data>xxxxx<data>'};
$.post('http://server/service.asmx/test',data,function(){
  //callback
},'xml');

次に、サーバーでアクセスできます。

var data = Request.Params("data");
于 2012-08-08T03:34:20.590 に答える