Jquery 如何使用ajax asp.net更改数量

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",

我有一个篮子,里面有产品。我试图通过使用ajax单击(+)按钮来增加代码数量

我的ajax代码

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&amp;remove_item=8d3bba7425e7c98c50f52ca1b52d3735&amp;_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;