2
Я пытаюсь заменить «Hello world!» с «Привет вам», используя ajax replaceWith. Однако я получаю эту ошибку:Невозможно прочитать свойство «replaceWith» of null - ajax call
Cannot read property 'replaceWith' of null
Где я ошибаюсь?
ПРИМЕЧАНИЕ: вызов ajax работает с предупреждением (ответом);
index.phtml:
<div id="helloworld">Hello world!</div>
<script type="text/javascript">
jQuery.ajax({
url: "<?php echo $this->getUrl('topperproductqa/index/ajax') ?>",
success: function(response){
$('#helloworld').replaceWith(response);
//alert(response);
}
});
</script>
IndexController.php:
class Topper_ProductQA_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
return $this;
}
public function ajaxAction()
{
$response = "Hello to you too";
$json = json_encode($response);
$this->getResponse()->setHeader('Content-type', 'application/json');
$this->getResponse()->setBody($json);
}
}
Что у вас есть прекрасные работы: https://jsfiddle.net/dn892efr/. Вы уверены, что этот код вызывает проблему? –
попробуйте это, чтобы узнать, действительно ли у вас элемент или нет. Это могут быть проблемы с библиотекой jquery 'console.log ($ ('# helloworld')); ' – lakshay
Спасибо! Это заставило меня взглянуть дальше кода, и я понял, что это связано с «прототипом» magento, который использует «$». –