同步提交&异步提交

1.在数据库提交点赞和踩的功能的时候

可以采取两种方法

a 同步提交

httprequest


b   异步提交

xmlhttprequest


Json  格式 :

javascript 的一个子集,是轻量级的数据交换格式

{}括号起来的一个集合,是一个集合对象

而{属性名:属性 }的格式

通常正确的格式是
{id=1,name='张三',age:18 }

join的数组表示形式

["java","javascript","vb"]

或:

[{id=1,name='zhangsan',age:18},....]

//在jquer中 $.ajax({


url:‘/testajax.ashx';
type:'post'
data:{"zan","zan"};
dataTyPe:"text";


});//利用json格式


实例:

点赞功能 异步提交:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="Scripts/jquery-3.1.1.js"></script>
</head>
<body>
<video src="3.mp4" autoplay="autoplay" controls="controls"></video>
<p>
<input type="button" value="赞" id="zancunt"/><span id="zan"></span>
<input type="button" value="踩" id="caicunt" /><span id="cai"></span>
</p>
<script type="text/javascript">
$("#zancunt").click(function () {

$.ajax({

url: '/Handler1.ashx',
type: 'post',
data: { 'zancunt': "zancunt" },
datatype: 'text',
success: function (result) {

$("#zan").text(result);


}


})


})
</script>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace WebApplication19
{
public class SqlHelper
{
private static readonly string connString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
public static int ExecuteNonQuery(string sql,params SqlParameter[] parameters )
{
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
}
}
public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteScalar();
}
}
}
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
DataSet set = new DataSet();
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
if (parameters!=null)
{
cmd.Parameters.AddRange(parameters);
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(set);
return set.Tables[0];
}
}
}
}
}

<?xml version="1.0" encoding="utf-8"?>

<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->

<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<connectionStrings>
<add name="connStr" connectionString="server=.;database=video;uid=sa;pwd=123"/>
</connectionStrings>

</configuration>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;

namespace WebApplication19
{
/// <summary>
/// Handler1 的摘要说明
/// </summary>
public class Handler1 : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
string zan = context.Request["zancunt"];
string cai = context.Request["caicunt"];
if (!string.IsNullOrEmpty(zan))
{


SqlHelper.ExecuteNonQuery("update [video].[dbo].[Table_1] set zan=zan+1");
int zancunt=Convert.ToInt32(SqlHelper.ExecuteScalar("select * from [video].[dbo].[Table_1]"));
context.Response.Write(zancunt);





}
}

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




原文地址:https://www.cnblogs.com/liyiyong/p/6135590.html