PHP内部的JavaScript无法正常工作[重复]

问题描述 投票:0回答:4

这个问题在这里已有答案:

我很抱歉,如果我遗漏了一些明显的东西,比如“而不是”,但我尝试了许多不同的方式,它仍然做同样的事情,即显示实际的javascript代码,而不是功能,当我把它放在一个。 html文件或给我这个错误:解析错误:语法错误,在第9行的E:\ XAMPP \ htdocs \ website2 \ test.php中出现意外的'<'当我将它放在php文件中时。

这是代码:

<!DOCTYPE html>
<html>
<head>
    <script src="js.js" type="text/javascript"></script>
    <title>TEST</title>
</head>
<body>
<?php 
    echo '<script type="text/javascript">
    var https = require("https");
var username = "04d2ac7f76a0fbc0eee9dc5ef96b9259";
var password = "dc70ffc7ad911236bc2e0822855e2d42";
var auth = "Basic " + new Buffer(username + ':' + password).toString('base64');
var request = https.request({
    method: "GET",
    host: "api.intrinio.com",
    path: "/companies?ticker=AAPL",
    headers: {
        "Authorization": auth
    }
}, function(response) {
    var json = "";
    response.on('data', function (chunk) {
        json += chunk;
    });
    response.on('end', function() {
        var company = JSON.parse(json);
        console.log(company);
    });
});</script>'; 
?>
</body>
</html>
javascript php mysql api
4个回答
3
投票

为什么不在没有php标签的情况下呢?该错误是因为您没有转义代码中的单引号。

没有PHP的例子:

<!DOCTYPE html>
<html>
<head>
    <script src="js.js" type="text/javascript"></script>
    <title>TEST</title>
</head>
<body>
<script type="text/javascript">
    var https = require("https");
var username = "04d2ac7f76a0fbc0eee9dc5ef96b9259";
var password = "dc70ffc7ad911236bc2e0822855e2d42";
var auth = "Basic " + new Buffer(username + ':' + password).toString('base64');
var request = https.request({
    method: "GET",
    host: "api.intrinio.com",
    path: "/companies?ticker=AAPL",
    headers: {
        "Authorization": auth
    }
}, function(response) {
    var json = "";
    response.on('data', function (chunk) {
        json += chunk;
    });
    response.on('end', function() {
        var company = JSON.parse(json);
        console.log(company);
    });
});</script>
</body>
</html>

用php的例子:

<!DOCTYPE html>
<html>
<head>
    <script src="js.js" type="text/javascript"></script>
    <title>TEST</title>
</head>
<body>
<?php 
    echo '<script type="text/javascript">
    var https = require("https");
var username = "04d2ac7f76a0fbc0eee9dc5ef96b9259";
var password = "dc70ffc7ad911236bc2e0822855e2d42";
var auth = "Basic " + new Buffer(username + ':' + password).toString(\'base64\');
var request = https.request({
    method: "GET",
    host: "api.intrinio.com",
    path: "/companies?ticker=AAPL",
    headers: {
        "Authorization": auth
    }
}, function(response) {
    var json = "";
    response.on(\'data\', function (chunk) {
        json += chunk;
    });
    response.on(\'end\', function() {
        var company = JSON.parse(json);
        console.log(company);
    });
});</script>'; 
?>
</body>
</html>

但更重要的是这是一个node.js代码而不是客户端javascript。我建议你得到一些nodejavascript教程。


0
投票

你应该在你的代码中逃避'in with'。


0
投票

正如伊万所指出的那样,你怀疑自己已经把'和'置于不合适的地方而没有逃脱。

<!DOCTYPE html>
<html>
<head>
  <script src="js.js" type="text/javascript"></script>
  <title>TEST</title>
</head>
<body>
<?php 
  echo '<script type="text/javascript">
  var https = require("https");
  var username = "04d2ac7f76a0fbc0eee9dc5ef96b9259";
  var password = "dc70ffc7ad911236bc2e0822855e2d42";
  var auth = "Basic " + new Buffer(username + \':\' + password).toString(\'base64\');
  var request = https.request({
    method: "GET",
    host: "api.intrinio.com",
    path: "/companies?ticker=AAPL",
    headers: {
      "Authorization": auth
    }
  }, function(response) {
    var json = "";
    response.on(\'data\', function (chunk) {
      json += chunk;
    });
    response.on(\'end\', function() {
      var company = JSON.parse(json);
      console.log(company);
    });
  });</script>';
?>
</body>

0
投票

Echo函数用于输出字符串,并且您正在回显不是有效字符串的代码语句。将其作为单行放置为:

<?php echo '<script type="text/javascript">var https = require("https");var username = "04d2ac7f76a0fbc0eee9dc5ef96b9259";var password = "dc70ffc7ad911236bc2e0822855e2d42";var auth = "Basic " + new Buffer(username + ':' + password).toString(\'base64\');var request = https.request({method: "GET",host: "api.intrinio.com",path: "/companies?ticker=AAPL",headers: {"Authorization": auth}}, function(response) {var json = "";response.on(\'data\', function (chunk) {json += chunk;});response.on(\'end\', function() {var company = JSON.parse(json);console.log(company);});});</script>';?>
© www.soinside.com 2019 - 2024. All rights reserved.