[英]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.