我正在研究Magento项目。我有一个控制器是一个php文件。我想在那个php文件中编写一个JavaScript函数。 这是导致错误的函数,
public function verifyPinAction()
{
$data = $this->getRequest()->getPost();
echo "<script type='text/javascript'>
var datastring=<?php echo $data['pin'];?>;
$.ajax({
type: 'POST',
url: 'http://xxxxx.com/xxxxxx/ErrorProcessing1.php',
data : datastring,
//dataType: 'json',
success: function(html) {
//alert(html);
if(html=='wrong text entered')
{
<?php Mage::getSingleton('core/session')->addError('Invalid Pin Number');
$this->_redirect('enterpintoverify'); ?>
}
else{
<?php Mage::getSingleton('core/session')->addSuccess('Your Email is verified');
$this->_redirect('enterpintoverify');?>
}
}
});
</script>
";
}
它出现以下错误
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/xxxxx/public_html/newtradesdev/app/code/local/Customer/Register/controllers/IndexController.php on line 65
第65行指的是
的 var datastring=<?php echo $data['pin'];?>;
有人能告诉我哪里出错了吗?
我使用了xxxx标记因为我正在托管网站上工作。请跳过网址。
答案 0 :(得分:2)
改变你的回声:
public function verifyPinAction()
{
$data = $this->getRequest()->getPost();
?>
<!--HTML STARTS HERE-->
<script type='text/javascript'>
var datastring=<?php echo $data['pin'];?>;
$.ajax({
type: 'POST',
url: 'http://xxxxx.com/xxxxxx/ErrorProcessing1.php',
data : datastring,
//dataType: 'json',
success: function(html) {
//alert(html);
if(html=='wrong text entered')
{
<?php Mage::getSingleton('core/session')->addError('Invalid Pin Number');
$this->_redirect('enterpintoverify'); ?>
}
else{
<?php Mage::getSingleton('core/session')->addSuccess('Your Email is verified');
$this->_redirect('enterpintoverify');?>
}
}
});
</script>
<!--HTML ENDS HERE-->
<?php
}
?>
这提供了更易读的代码,也不会导致任何错误。
答案 1 :(得分:2)
尝试在echo中使用连接php代码
echo "<script type='text/javascript'>
var datastring=".$data['pin'].";
$.ajax({....
答案 2 :(得分:2)
可能由于解析错误而发生。尝试连接PHP代码。
var datastring=".$data['pin'].";