怎样利用JQuery Ajax 对数据库进行 *** 作

怎样利用JQuery Ajax 对数据库进行 *** 作,第1张

.Net方面:

asp.net C#:

default.aspx.cs

[WebMethod]

public static string HelloWorld(string name){

//数据 *** 作

return name+"HelloWorld"

}

default.aspx

body:

<input id="name">

<button id="hello">

script:

$(function(){

$("#hello").bind('click',function(){

function SendToEmail() {

$.ajax({

type: "post",

url: "Default.aspx/HelloWorld",

contentType: "application/jsoncharset=utf-8",

data: "{name:'" + $("#name").val() + "'}",

dataType: "json",

success: function (data) {

alert(data.d)

},

error: function (err) {

alert(err.d)

}

})

}

})

})

-----------------------------------------------------------------------

MVC:

HomeController:

[HttpGet]

public ActionResult Hello(string name){

//数据 *** 作

return Json(name+"Hello",JsonRequestBehavior.AllowGet)

}

Index.aspx:

body:

<input id="name">

<button id="hello">

script:

$(function(){

$("#hello").bind('click',function(){

$.get("Home/Index",{name:$('#id').val(),function(data){alert(data)}}

})

java 部分楼下补上

这个方法网上可以查到很多,但是好多只有点击文字编辑并保持,但是没有完整的代码写怎么保存到数据库。因为本人才疏学浅,费啦好长时间才写好把修改的内容只用一条sql语句保存到数据库,今天在这里和大家分享

这是运行图片

这是前台页面

03.aspx页面

复制代码

代码如下:

<table

id="MyTable"

cellspacing="1"

cellpadding="3">

<asp:Repeater

ID="reorderInFo"

runat="server">

<ItemTemplate>

<tr

style="text-align:

left">

<td

width="70"

height="40"

id="OrderName">

订单名称:

</td>

<td

colspan="5"

class="caname"

id="OrderName1">

<%#Eval("OrderName")%>

</td>

</tr>

<tr

style="text-align:

left">

<td

width="70"

height="40"

id="ID_Product">

产品类型:

</td>

<td

class="caname"

id="ID_Product1">

<%#Eval("ID_Product")%>

</td>

<td

width="40"

id="OrderState_Send">

状态:

</td>

<td

class="caname"

id="OrderState_Send1"

><%#Eval("OrderState_Send")%>

</td>

<td

width="40"

id="OrderQty">

印量:

</td>

<td

class="caname"

id="OrderQty1"

><%#Eval("OrderQty")%>

</td>

</tr>

<tr>

<td

width="70"

height="60"

id="SendAddress">

收货信息:

</td>

<td

colspan="5"

class="caname"

id="SendAddress1"

><%#Eval("SendAddress")%>

</td>

</tr>

<tr

style="text-align:

left">

<td

width="70"

height="50"

id="OrderMoney_Total">

总金额:

</td>

<td

colspan="5"

class="caname"

id="OrderMoney_Total1"

><%#Eval("OrderMoney_Total")%>

</td>

</tr>

</ItemTemplate>

</asp:Repeater>

</table>

这是js

03.js

复制代码

代码如下:

$(function

()

{

//获取class为caname的元素

$(".caname").click(function

()

{

var

td

=

$(this)

var

txt

=

$.trim(td.text())

var

input

=

$("<input

type='text'value='"

+

txt

+

"'/>")

td.html(input)

input.click(function

()

{

return

false

})

//获取焦点

input.trigger("focus")

//文本框失去焦点后提交内容,重新变为文本

input.blur(function

()

{

var

newtxt

=

$(this).val()

//判断文本有没有修改

if

(newtxt

!=

txt)

{

td.html(newtxt)

//不需要使用数据库的这段可以不需要

//var

Order_Id

=

$("#ID_Order").text()

var

updateCol

=

$.trim(td.prev().attr("id"))//我重点要说的是着一句:td.prev()表示本td的上一个td。这句代码的意思是你所点击的td的上一个td的id(如果不明白可以看前面的03.aspx页面)。

//ajax异步更改数据库,加参数date是解决缓存问题

url

=

"../test/03.ashx?caname="

+

newtxt

+

"&updateCol="

+

updateCol

+

"&date="

+

new

Date()

//使用get()方法打开一个一般处理程序,data接受返回的参数(在一般处理程序中返回参数的方法

context.Response.Write("要返回的参数"))

//数据库的修改就在一般处理程序中完成

$.get(url,

function

(data)

{

//

if

(data

==

"1")

{

//

alert("该类别已存在!")

//

td.html(txt)

//

return

//

}

//

alert(data)

alert("修改成功")

td.html(newtxt)

})

复制代码

代码如下:

<p><span

style="font-size:14px">这是一般处理程序页面<span

style="font-family:Times

New

Roman">

03.ashx</span></span></p><p>

<%@

WebHandler

Language="C#"

Class="_03"

%></p>

复制代码

代码如下:

<p>using

System

using

System.Web

using

System.Data.SqlClient</p><p>public

class

_03

:

IHttpHandler

{

public

void

ProcessRequest

(HttpContext

context)

{

context.Response.ContentType

=

"text/plain"

int

OrderId

=

5</p><p>

string

newOrderName

=

context.Request.QueryString["caname"]//获取用户修改后的文字

string

updateCol

=

context.Request.QueryString["updateCol"]//获取用户修改的本td的上一个td的id的值(这个id与数据库中的列名相同)

string

sql

=

"update

eoPrintOrder

set

"

+

updateCol

+

"

<a

target="_blank"

href="mailto:=@name">=@name</a>

where

<a

target="_blank"

href="mailto:Id_order=@id'//">Id_order=@id"//</a>通过这一条sql语句,就可以对数据库进行修改

SqlParameter[]

pams

=

{

new

SqlParameter("@name",newOrderName),

new

SqlParameter("@id",OrderId)

}

string

data

=

DscySFL.DbHelp.ExecuteCommand(sql,pams

).ToString()

context.Response.Write(data)

}

public

bool

IsReusable

{

get

{

return

false

}

}</p><p>}</p>

jquery是js库吧?是运行在页面的吧?这还能修改服务器的数据库?顶多只是调服务器接口来实现吧?如果可以修改的话,那你是不是就可以修改淘宝的支付链接了? nodejs的话也可以作为服务器


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9961721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存