PHP内部的JavaScript无法正常工作

时间:2017-12-17 16:56:26

标签: javascript php mysql api

我很抱歉,如果我遗漏了一些明显的东西,比如“而不是”,但我尝试了许多不同的方式,它仍然做同样的事情,即显示实际的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>

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

你应该逃避&#39;在&#39;在你的代码中。

答案 2 :(得分:0)

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

<!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>

答案 3 :(得分: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>';?>