JSON

jquery以json方式提交数据到服务端示例代码

字号+ 作者:H5之家 来源:H5之家 2018-02-09 09:04 我要评论( )

jquery以json方式提交数据到服务端示例代码 jquery将ajax数据请求进行了封装,从而使的该操作实现起来容易许多.以往我们要写很多地代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求地方式、地址、数据类型,以及回调方法等.下面地代码演示了如何将

jquery以json方式提交数据到服务端示例代码

jquery将ajax数据请求进行了封装,从而使的该操作实现起来容易许多.以往我们要写很多地代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求地方式、地址、数据类型,以及回调方法等.下面地代码演示了如何将客户端表单数据封装成json格式,然后通过jquery地ajax请求将数据发送到服务端,并最终将数据存储到数据库中.服务端定义为一个.ashx文件,事实上你可以将服务端定义为任何能接收并处理客户端数据地类型,如web service,asp.net page,handler等.

首先,在客户端,通过javascript脚本将页面表单数据封装成json格式.getjsondata()函数完成了这一功能.然后我们通过$.ajax()方法将数据发送到服务端地requestdata.ashx.其中用到了json.stringify()方法,它可以将客户端发送地数据转换成json对象,详细地内容可以看这里https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/json/stringify

代码如下:


$(#btnsend).click(function() {
$(#request-process-patent).html(正在提交数据,请勿关闭当前窗口...);
$.ajax({
type: post,
url: requestdata.ashx,
contenttype: application/json; charset=utf-8,
data: json.stringify(getjsondata()),
datatype: json,
success: function (message) {
if (message > 0) {
alert(请求已提交!我们会尽快与您取的联系);
}
},
error: function (message) {
$(#request-process-patent).html(提交数据失败!);
}
});
});

function getjsondata() {
var json = {
classid: 2,
name: $(#tb_name).val(),
zlclass: 测试类型1,测试类型2,测试类型3,
pname: $(#tb_contact_people).val(),
tel: $(#tb_contact_phone).val()
};
return json;
}


再来看看服务端地代码,requestdata.ashx.

代码如下:


[serializable]
public class requestdatajson
{
public int classid { get; set; }
public string name { get; set; }
public string zlclass { get; set; }
public string pname { get; set; }
public string tel { get; set; }
}

/// <summary>
/// summary description for requestdata
/// </summary>
public class requestdata : ihttphandler
{
public void processrequest(httpcontext context)
{
int num = 0;
context.response.contenttype = application/json;
var data = context.request;
var sr = new streamreader(data.inputstream);
var stream = sr.readtoend();
var javascriptserializer = new javascriptserializer();
var posteddata = javascriptserializer.deserialize<requestdatajson>(stream);

tb_query obj = new tb_query();
obj.classid = posteddata.classid;
obj.name = posteddata.name;
obj.zlclass = posteddata.zlclass;
obj.pname = posteddata.pname;
obj.tel = posteddata.tel;
obj.ip = context.request.userhostaddress.tostring();
obj.posttime = datetime.now.tostring();

try
{
using (var ctx = new dbentities())
{
ctx.tb_query.addobject(obj);
num = ctx.savechanges();
}
}
catch (exception msg)
{
context.response.write(msg.message);
}

context.response.contenttype = text/plain;
context.response.write(num);
}

public bool isreusable
{
get
{
return false;
}
}
}


定义一个带有serializable特征属性地类requestdatajson用来将客户端数据进行反序列化,从而获取到数据并存入数据库.上述代码中使用了entityframework,从而使的数据库地交互代码变的很简洁.返回结果有两种,对应ajax中地回调函数success()和error().在success()回调函数中,如果返回结果地值大于0,则表示通过entityframework添加到数据库中地记录数;在error()回调函数中,返回结果则显示了失败地具体信息.

requestdata类继承了ihttphandler接口,表明它是以同步地方式处理客户端请求.当然,你也可以将其改为继承ihttpasynchandler接口来处理异步请求,代码接口大同小异.

更多网络编程信息请查看: 网络编程

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 将Hashtable的key,value转成json数据的key,value

    将Hashtable的key,value转成json数据的key,value

    2018-02-09 13:03

  • jquery解析JSON数据示例代码

    jquery解析JSON数据示例代码

    2018-02-09 08:00

  • shell脚本硬件信息获取json数值输出

    shell脚本硬件信息获取json数值输出

    2018-02-08 18:01

  • html里table表数据如何转为Json格式

    html里table表数据如何转为Json格式

    2018-02-08 18:01

网友点评