未能在PHP文件中集成一些JS代码

时间:2018-07-30 10:02:16

标签: javascript php

我有一个PHP代码,需要在其中使用JS进行一些操作,我尝试了以下

https://example.com/privat/imgs/ROHAN_ZAVERI.jpg

当我回显创建的“脚本”时,我收到类似于<?php include './parse.service.php'; echo putContent(); $jsScript = " <script type='text/javascript'> const json = require('./transacitions.json'); window.onload = modifyData; function modifyData() { document.getElementById('n_transactions').innerHTML = parseInt(document.getElementById('n_transactions').innerHTML, 10) + json.data.length; document.getElementById('total_received').getElementsByTagName('font')[0].getElementsByTagName('span')[0].innerHTML = `${this.totalReceived(convertToFloat(document.getElementById('total_received').getElementsByTagName('font')[0].getElementsByTagName('span')[0].innerHTML))} BTC`; document.getElementById('final_balance').getElementsByTagName('font')[0].getElementsByTagName('span')[0].innerHTML = `${this.finalBalance(convertToFloat(document.getElementById('final_balance').getElementsByTagName('font')[0].getElementsByTagName('span')[0].innerHTML))} BTC`; } function convertToFloat(element) { var numb = element.match(/[+-]?\d+(\.\d+)?/g); numb = numb.join(\"\"); return (parseFloat(numb, 10)); } function totalReceived(quantity) { json.data.forEach(element => { if (element.finalSum > 0) { quantity += element.finalSum; }; }); return quantity; }; function finalBalance(quantity) { json.data.forEach(element => { quantity += element.finalSum; }); return quantity; }; </script>"; echo $jsScript; ?> 的消息,我将如何修改代码,以使JS正常集成到我的PHP脚本中。

1 个答案:

答案 0 :(得分:6)

"在以${this.totalReceived个字符分隔的PHP字符串中具有特殊含义,因此totalReceived导致PHP引擎试图查找一个名为<?php include './parse.service.php'; echo putContent(); ?> <script type='text/javascript'> const json = require('./transacitions.json'); window.onload = modifyData; // etc etc </script> 的函数。 / p>

这里没有明显的理由使用PHP字符串。只需退出PHP模式并直接输出代码即可。

<script src>

更好。将JS移到单独的文件中,并包含在09-JUN-14 12.00.00.000000000 AM 21-MAR-16 12.00.00.000000000 AM 11-JUL-16 12.00.00.000000000 AM 26-OCT-15 12.00.00.000000000 AM 04-JAN-16 12.00.00.000000000 AM 中。