jquery的.get方法说解

·Customer类

public class Customer

{

    public int Unid { get; set; }

    public string CustomerName { get; set; }

    public string Memo { get; set; }

    public string Other { get; set; }

}

 

·服务端处理(Json_1.ashx)

Customer customer = new Customer { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};

string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);

context.Response.Write(strJson);

 

jQuery.get( url, [data], [callback], [type] )

能过http get请求数据。其中的callback是$.ajax的一种缩略应用,指在成功加载数据后调用。

(一)ashx文件

Get请求得到json数据

·Ashx文件不再提供

·js

function GetCustomer_Ashx() {

    $.get(

    "webdata/get_1.ashx",

    {},

    function(data) {

        var tt = "";    

        $.each(data, function(k, v) {

            tt += k + ":" + v + "<br/>";

        })

        $("#divmessage").html(tt);

    },

    "json"

    );

}

其中,参数如果没有,那么也要保留空参数列表;数据格式设置为json

 

(二)ashx文件,集合

·ashx文件不再提供,请见我的博客的其它随笔

·js

function GetCustomerList() {

    $.get(

    "webdata/get_1.ashx",

    {},

    function(data) {

        var tt = "";

        $.each(data, function(k, v) {

            $.each(v, function(kk, vv) {

                tt += kk + ":" + vv + "<br/>";

            });

        });

        $("#divmessage").html(tt);

    },

    "json"

    );

}

其中,没有参数,参数提供部分可以为空,也可以提供空列表;数据格式可以省略,写json也行,其它的几个选项也行。

(三)请求文本文件

这次得到文本内容,不得到json对象。

function GetCustomer_txt() {

    $.get(

    "webdata/get_1.txt",

    function(data) {     

        $("#divmessage").html(data);

    },

    "text"

);

}

这里的数据类型,可以省略。

(四)请求WebService

http get方式请求web服务,默认get关闭。要手动启动。

可以在config文件中添加get支持:

<webServices>

      <protocols>

        <add name="HttpGet"/>

      </protocols>

    </webServices>

 

[WebMethod]

    public string GetCustomer()

    {

        Customer customer = new Customer

{ Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" };

        string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);

        return strJson;

}

ScriptMethod 属性标签用于指定用于调用方法的 HTTP 谓词以及响应的格式。此属性用于指定可从客户端脚本调用的方法的信息。使用此属性可以指定可用于调用方法的 HTTP 谓词(GET 或 POST)。它还使您可以指定是要使用 JavaScript 对象符号 (JSON) 还是 XML 对响应进行格式设置。

·UseHttpGet

指定是否要通过使用 HTTP GET 命令调用方法。默认值为 false。

·ResponseFormat

指定将响应序列化为 JSON 还是 XML。默认值为 Json。当方法返回 XmlDocument 或 XmlElement 对象时,ResponseFormat 属性可用于将 XML 指定为返回类型。

·XmlSerializeString

指定是否将所有返回类型(包括字符串类型)都序列化为 XML。将响应序列化为 JSON 时,将忽略 XmlSerializeString 属性的值。

如果web服务方法不修饰这个标签,那默认就序列化为json对象。

 

function GetCustomer_Webservice() {

    $.get(

    "get_1.asmx/GetCustomer",

    function(data) {

        var jsonObject = $.jsonToObject(data.text);

        var tt = '';

        $.each(jsonObject, function(k, v) {

            tt += k + ":" + v + "<br/>";

        });

        $("#divmessage").html(tt);

    },

    "json"

);}

这种例子就举到这个为止。在ajax get请求web服务时,注意开通get协议访问。

原文地址:https://www.cnblogs.com/echohao/p/4873102.html