{"id":60106,"date":"2025-04-24T08:36:40","date_gmt":"2025-04-24T00:36:40","guid":{"rendered":"https:\/\/fwq.ai\/blog\/60106\/"},"modified":"2025-04-24T08:36:40","modified_gmt":"2025-04-24T00:36:40","slug":"%e9%80%9a%e8%bf%87ajax%e6%96%b9%e5%bc%8f%e5%8a%a8%e6%80%81%e6%9b%b4%e6%96%b0ecshop%e8%b4%ad%e7%89%a9%e8%bd%a6%e9%a1%b5%e9%9d%a2%e7%9a%84%e5%95%86%e5%93%81%e6%95%b0%e9%87%8f-2","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/60106\/","title":{"rendered":"\u901a\u8fc7AJAX\u65b9\u5f0f\u52a8\u6001\u66f4\u65b0ecshop\u8d2d\u7269\u8f66\u9875\u9762\u7684\u5546\u54c1\u6570\u91cf"},"content":{"rendered":"<p>&nbsp;<span style=\"font-family: Verdana, Arial, Tahoma;font-size: 14px;line-height: 25px\">\u6bcf\u6b21\u7528\u6237\u8fdb\u5165ecshop\u8d2d\u7269\u6d41\u7a0b\u7684\u65f6\u5019\u5f53\u9700\u8981\u66f4\u6539\u8d2d\u7269\u8f66\u91cc\u7684\u5546\u54c1\u6570\u91cf\u7684\u65f6\u5019\u5fc5\u987b\u8981\u624b\u52a8\u70b9\u51fb\u66f4\u65b0\u6309\u94ae\uff0c\u8fd9\u662f\u975e\u5e38\u7cdf\u7cd5\u7684\u7528\u6237\u4f53\u9a8c\uff0c\u6211\u4eec\u6709\u5fc5\u8981\u53bb\u6539\u8fdb\u8fd9\u4e00\u70b9\u3002 <\/span><\/p>\n<p>  \u4ee5\u4e0b\u662f\u901a\u8fc7AJAX\u65b9\u5f0f\u6765\u52a8\u6001\u66f4\u65b0ECShop\u8d2d\u7269\u8f66\u9875\u9762\u5546\u54c1\u6570\u91cf\u7684\u89e3\u51b3\u529e\u6cd5   \u4e00\u3001\u524d\u7aef\u9875\u9762\u90e8\u5206(flow.dwt)   \u5728\u5546\u54c1\u6570\u91cf\u7684input\u6846\u6dfb\u52a0\u5bf9\u5e94\u7684js\u51fd\u6570   &lt;INPUT &nbsp;onblur=\u201dchangePrice(document.getElementById(\u2018goods_number_{$goods.rec_id}\u2019).value,{$goods.rec_id})\u201d name=\u201dgoods_number[{$goods.rec_id}]\u201d id=\u201dgoods_number_{$goods.rec_id}\u201d value=\u201d{$goods.goods_number}\u201d &nbsp;id=\u201dECS_FORMBUY\u201d&gt;   \u5728\u6587\u4ef6\u6700\u540e\u6dfb\u52a0\u4e00\u6bb5js   &nbsp;   &lt;script type=\u201dtext\/javascript\u201d&gt;   function changePrice(number,rec_id)   {   &nbsp; var attr = getSelectedAttributes(document.forms[&#8216;ECS_FORMBUY&#8217;]);   &nbsp; var qty = document.forms[&#8216;ECS_FORMBUY&#8217;].elements[&#8216;number&#8217;].value;   &nbsp;   &nbsp; &nbsp;Ajax.call(\u2018flow.php\u2019, \u2018step=update_group_cart&amp;rec_id=\u2019 + rec_id +\u2019&amp;number=\u2019 + number, changePriceResponse, \u2018GET\u2019, \u2018JSON\u2019);   }   function changePriceResponse(res)   {   &nbsp; if (res.error &gt; 0)   &nbsp; {   &nbsp; &nbsp; document.getElementById(\u2018sysmsg_error\u2019).innerHTML = res.content;   &nbsp; &nbsp; document.all.sysmsg_error.style.display=\u201d;   &nbsp; }   &nbsp; else   &nbsp; {   &nbsp; &nbsp; if(document.all.sysmsg_error.style.display==\u201d)   &nbsp; {   &nbsp; &nbsp;document.all.sysmsg_error.style.display=\u2019none\u2019;   &nbsp; }   &nbsp;document.getElementById(\u2018subtotal_\u2019+res.rec_id).innerHTML = res.subtotal;   &nbsp;document.getElementById(\u2018cart_amount\u2019).innerHTML = res.cart_amount;   &nbsp; }   }   &lt;\/script&gt;   &nbsp;   \u4e8c\u3001\u5728flow.php\u6587\u4ef6\u4e2d\u63d2\u5165\u5bf9\u5e94\u7684\u5904\u7406\u4ee3\u7801\uff1a   elseif($_REQUEST[&#8216;step&#8217;] == \u2018update_group_cart\u2019)   {   include_once(\u2018includes\/cls_json.php\u2019);   $json = new JSON();   $result = array(\u2018error\u2019 =&gt; \u201d, \u2018content\u2019 =&gt; \u201d);   $rec_id = $_GET[&#8216;rec_id&#8217;];   $number = $_GET[&#8216;number&#8217;];   $group_buy = group_buy_info($_SESSION[&#8216;extension_id&#8217;], $number);   if(!is_numeric($number))   {   $result[&#8216;error&#8217;] = \u20191\u2032;   $result[&#8216;content&#8217;] =\u2019\u8bf7\u8f93\u5165\u5408\u6cd5\u6570\u91cf\u2019;   die($json-&gt;encode($result));   }   if ($group_buy[&#8216;restrict_amount&#8217;] &gt; 0 &amp;&amp; $number &gt; ($group_buy[&#8216;restrict_amount&#8217;] \u2013 $group_buy[&#8216;valid_goods&#8217;]))   &nbsp;{   $result[&#8216;error&#8217;] = \u20191\u2032;   $restrict_amount = &nbsp;$group_buy[&#8216;restrict_amount&#8217;] \u2013 $group_buy[&#8216;valid_goods&#8217;];   $result[&#8216;content&#8217;] =\u2019\u60a8\u6700\u591a\u53ef\u4e70\u2019.$restrict_amount.\u2019\u4ef6\u2019;   die($json-&gt;encode($result));   }   $sql = \u201cUPDATE \u201d . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(\u2018cart\u2019) . \u201d SET goods_number = \u2018$number\u2019 WHERE rec_id = $rec_id\u201d;   $GLOBALS[&#8216;db&#8217;]-&gt;query($sql);   $subtotal = $GLOBALS[&#8216;db&#8217;]-&gt;getONE(\u201cselect goods_price * goods_number AS subtotal from \u201c.$GLOBALS[&#8216;ecs&#8217;]-&gt;table(\u2018cart\u2019).\u201d where rec_id = $rec_id\u201d);   $cart_amount = cart_amount(\u201d,$_SESSION[&#8216;flow_type&#8217;]);   $result[&#8216;subtotal&#8217;] = price_format($subtotal, false);   $result[&#8216;cart_amount&#8217;] = price_format($cart_amount, false);   $result[&#8216;rec_id&#8217;] = $rec_id;   die($json-&gt;encode($result));   }   &nbsp;   \u8fd8\u7b49\u4ec0\u4e48\uff1f\u9a6c\u4e0a\u6e05\u7a7aechsop\u7684\u7f13\u5b58\u5237\u65b0\u9875\u9762\u770b\u770b\u6548\u679c\u5427\u3002  <\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;\u6bcf\u6b21\u7528\u6237\u8fdb\u5165ecshop\u8d2d\u7269\u6d41\u7a0b\u7684\u65f6\u5019\u5f53\u9700\u8981\u66f4\u6539\u8d2d\u7269\u8f66\u91cc\u7684\u5546\u54c1\u6570\u91cf\u7684\u65f6\u5019\u5fc5\u987b\u8981\u624b\u52a8\u70b9\u51fb\u66f4\u65b0\u6309\u94ae\uff0c\u8fd9\u662f\u975e\u5e38\u7cdf\u7cd5\u7684\u7528\u6237\u4f53\u9a8c\uff0c\u6211\u4eec\u6709\u5fc5\u8981\u53bb\u6539\u8fdb\u8fd9\u4e00\u70b9\u3002 \u4ee5\u4e0b\u662f\u901a\u8fc7AJAX\u65b9\u5f0f\u6765\u52a8\u6001\u66f4\u65b0ECShop\u8d2d\u7269\u8f66\u9875\u9762\u5546\u54c1\u6570\u91cf\u7684\u89e3\u51b3\u529e\u6cd5 \u4e00\u3001\u524d\u7aef\u9875\u9762\u90e8\u5206(flow.dwt) \u5728\u5546\u54c1\u6570\u91cf\u7684input\u6846\u6dfb\u52a0\u5bf9\u5e94\u7684js\u51fd\u6570 &lt;INPUT &nbsp;onblur=\u201dchangePrice(document.getElementById(\u2018goods_number_{$goods.rec_id}\u2019).value,{$goods.rec_id})\u201d name=\u201dgoods_number[{$goods.rec_id}]\u201d id=\u201dgoods_number_{$goods.rec_id}\u201d value=\u201d{$goods.goods_number}\u201d &nbsp;id=\u201dECS_FORMBUY\u201d&gt; \u5728\u6587\u4ef6\u6700\u540e\u6dfb\u52a0\u4e00\u6bb5js &nbsp; &lt;script type=\u201dtext\/javascript\u201d&gt; function changePrice(number,rec_id) { &nbsp; var attr = getSelectedAttributes(document.forms[&#8216;ECS_FORMBUY&#8217;]); &nbsp; var qty = document.forms[&#8216;ECS_FORMBUY&#8217;].elements[&#8216;number&#8217;].value; &nbsp; &nbsp; &nbsp;Ajax.call(\u2018flow.php\u2019, \u2018step=update_group_cart&amp;rec_id=\u2019 + rec_id +\u2019&amp;number=\u2019 + number, changePriceResponse, \u2018GET\u2019, \u2018JSON\u2019); } function changePriceResponse(res) { &nbsp; if (res.error &gt; 0) &nbsp; { &nbsp; &nbsp; document.getElementById(\u2018sysmsg_error\u2019).innerHTML = res.content; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-60106","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/60106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=60106"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/60106\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=60106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=60106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=60106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}