Jquery 如何使用ajax asp.net更改数量
我有一个篮子,里面有产品。我试图通过使用ajax单击(+)按钮来增加代码数量 我的ajax代码Jquery 如何使用ajax asp.net更改数量,jquery,asp.net,ajax,web-services,Jquery,Asp.net,Ajax,Web Services,我有一个篮子,里面有产品。我试图通过使用ajax单击(+)按钮来增加代码数量 我的ajax代码 function sepeteEkle(id) { var urunid = id; var sessionId = Session.SessionID; $.ajax({ dataType: "json", type: "POST", contentType: "application/json",
function sepeteEkle(id) {
var urunid = id;
var sessionId = Session.SessionID;
$.ajax({
dataType: "json",
type: "POST",
contentType: "application/json",
url: "/Admin/WebService/Control.asmx/QuanInc",
data: "{'urunid':'" + urunid + "','sessionId':'" + sessionId + "' }",
success: function () {
$("#AllCheckOut").load("CheckOut.aspx #AllCheckOut");
},
error: function () {
}
});
return false;
}
$(document).on('click', '.QuaIncrease', function () {
var nId = $(this).data("id")
sepeteEkle(nId);
});
这是我的中继器
<asp:Repeater ID="repBasketDetail" runat="server">
<ItemTemplate>
<tr class="cart_table_item">
<!-- Remove from cart link -->
<td class="product-remove">
<a href="http://stylo.senseithemes.com/?page_id=16&remove_item=8d3bba7425e7c98c50f52ca1b52d3735&_n=2e5bf0b319" class="remove" title="Remove this item">×</a> </td>
<!-- The thumbnail -->
<td class="product-thumbnail">
<a href="ShopDetail.aspx?Id=<%#Eval("Id")%>" ><img width="100" height="130" src="<%#Eval("ProductPic") %>" class="attachment-shop_thumbnail wp-post-image" alt="T_7_front"></a> </td>
<!-- Product Name -->
<td class="product-name">
<a href="ShopDetail.aspx?Id=<%#Eval("Id")%>"><%#Eval("ProductName") %></a>
<div class="clear"></div>
<!-- Product price -->
<div class="product-price">
<span class="amount"><%#Eval("ProductPrice") %> TL</span> </div>
</td>
<!-- Quantity inputs -->
<td class="product-quantity">
<div class="quantity buttons_added"><input type="button" value="-" class="minus"><input type="number" name="cart[8d3bba7425e7c98c50f52ca1b52d3735][qty]" step="1" min="" max="" value="<%#Eval("ProductQuantity") %>" size="4" title="Qty" class="input-text qty text" maxlength="12"><input type="button" class="QuaIncrease" data-id=<%#Eval ("Id") %> value="+" ></div> </td>
<!-- Product subtotal -->
<td class="product-subtotal">
<span class="amount">
<%# Eval("ProductPrice") %>
</span> </td>
</tr>
</ItemTemplate>
所以我没有登录的东西。我创建随机会话编号和字母,以获得每个浏览器的用户。
urunid=来自产品表的producId。所以现在我正试图让数量每点击(+)值按钮增加1,就像你们在中继器中看到的那个样。但它不工作,我还需要减少
mySessionId = '<%=Session.SessionID%>';
alert(mySessionId);
mySessionId='';
警报(mySessionId);
因此,我可以提醒会话,但仍然无法增加数量尝试使用浏览器开发工具中的网络嗅探器(IE和Chrome上的F12,Firefox上的Firebug)或Fiddler,然后运行此代码。您在调用/Admin/WebService/Control.asmx/QuanInc时是否遇到404或500错误?此服务方法的路径可能无效(404),或者对服务的调用出错(500) 那么,
Session.SessionID
是来自asp脚本的东西,因此您需要像这样将它们封装在asp标记中
mySessionId= '<%=Session.SessionID%>';
因此,控件永远不会到达ajax调用,您将了解它的进一步处理流程
快乐编码:)你说它不工作是什么意思,是调用没有到达web方法,还是数据库没有发生更改?嗯,没有发生任何错误,但数据库中没有任何更改我对“添加到购物车”按钮使用几乎相同的代码,它增加了数量,但在这里没有。如果设置断点,你看不到/Admin/WebService/Control.asmx/QuanInc被调用?你不能直接用javascript编写.NET属性,你需要告诉编译器这些是.NET属性而不是javascript:
var sessionId=''代码>每次我单击按钮时,它都会显示UncaughtReferenceError:未定义会话将JS更改为read。JS认为会话是一个已定义的对象,而事实并非如此。这还假设JS直接位于ASP.NET ASPX文件中,如果将此JS代码放在单独的.JS文件中,那么这会变得有点棘手;var sessionId=Oh。。要做到这一点,如果你能做到这一点,我不建议你把用户会话ID放在客户端标记中,会话劫持就是这样发生的。。。如果你需要走这条路,加密这个值并存储在一个隐藏变量或其他东西中,然后在调用你的服务方法时传递这个值并解密..好的,记住这一点。完成后将尝试隐藏Uncaught TypeError:无法读取null plugins.js?ver=1:30 NLForm plugins.js?ver=1:30(匿名函数)plugins.js?ver=1:186未捕获的TypeError:undefined不是自定义函数。js?ver=1:106(匿名函数)custom.js?ver=1:106 c jquery.js?ver=1.10.2:3 p.fireWith jquery.js?ver=1.10.2:3 x.extend.ready jquery.js?ver=1.10.2:3 q立即获取这些我现在可以获取会话id,但数量仍然没有变化。知道它为什么不起作用吗?我不认为Web服务有什么问题code@user3703153当前位置有两件事需要检查1。在ajax请求中将数据传递给远程服务,如下所示,var urunId=id;var sessiond=Session.SessionID;$。ajax({…,数据:{urunid:urunid,sessionId:sessiond}})代码>2。在ajax请求中尝试给定绝对url而不是相对url。
mySessionId= '<%=Session.SessionID%>';
var sessionId = Session.SessionID;