簡體   English   中英

Magento客戶編輯-Ajax兩次呼叫

[英]Magento Customer edit - Ajax called twice

作為該問題的后續,我還有另一個問題。

我的觀點看起來像這樣:

<span id="tickets">?</span>

<script type="text/javascript">
var url = '<?php echo Mage::helper("adminhtml")->getUrl("greenspan_tickets/index", array('customer_id' => $this->getRequest()->getParam('id'))); ?>';

function getTicketInfo(){
    new Ajax.Request(url, {
        method: 'get',
        onComplete: function(transport) {
            var json = transport.responseText.evalJSON();
            document.getElementById('tickets').innerHtml = json.ticket_count;
            alert(document.getElementById('tickets').innerHtml);
        }
    });
}
getTicketInfo();
</script>

使用正確的值“ 1”(JSON響應中的正確值)向用戶發出兩次警報。 但是,對於用戶來說,#tickets的值仍然只是“?”。

我做錯了什么?

原因可能是:在頁面加載期間,頁面本身當然也已加載/index.php/admin/customer/edit/id/1/key/7a13c7d7c2feecc16003c82bbf0f6201/ 如果我查看Firebug或類似內容,則會看到同一請求再次被觸發,因此同一請求總共執行了兩次: 雙重裝載 在這里看到完整的圖像

你能解釋出什么問題嗎? 我在另一個正在運行的生產車間嘗試過,這也導致頁面兩次加載。

加載文檔時可能會出現問題,而是在加載事件中調用AJAX

var url = '<?php echo Mage::helper("adminhtml")->getUrl("greenspan_tickets/index", array('customer_id' => $this->getRequest()->getParam('id'))); ?>';

 function getTicketInfo() {
    new Ajax.Request(url, {
      method: 'get',
      onComplete: function(transport) {
          var json = transport.responseText.evalJSON();
          document.getElementById('tickets').innerHtml = json.ticket_count;
          alert(document.getElementById('tickets').innerHtml);
      }
    });
 }

 document.observe('dom:loaded', function() {
     getTicketInfo();
 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM