【问题标题】:User input in HTML being placed into links (Using APIS) (JSON + AJAX + HTML)将 HTML 中的用户输入放入链接(使用 APIS)(JSON + AJAX + HTML)
【发布时间】:2019-06-05 21:51:42
【问题描述】:

我得到 SyntaxError: Unexpected string literal 'y'。在尝试将我的用户输入放入链接时,预期 '}' 会结束对象文字。我对该怎么做感到困惑。我将它保存为 Y ,然后将其放入链接中,在此之前我可以使用随机数运行它。我需要 Y 是一个整数(3 个数字)如果我要在 Y 是链接的位置添加一个三位数字,它将能够工作。

<!DOCTYPE html>
<html>
  <head>
    <title>Testing</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  </head>
<form id = "busform">
Bus Stop: <input name="SMS code" type = "text"><br>
    <button onclick="get_times() ;">Get bus times</button>
</form>
  <body id="bodi">
    <script>
      function get_times() {
        var x,y ;
        x = document.getElementById("busform");
        y = x.elements["SMS code"].value;

          $.ajax({
              type: 'GET',
                       url: 'https://api.tfl.gov.uk/Line/''y''Arrivals?app_id=&app_key=',
              dataType: 'json',
              success: function(data){
                  $("#times").html("");
                  var sorted = data.sort(function (a, b) {
                          if (a.timeToStation > b.timeToStation) {
                            return 1;
                          }
                          if (a.timeToStation < b.timeToStation) {
                            return -1;
                          }
                          return 0;
                  });
                  $.each(data, function(key,value){
                      var line = value.lineName;
                      var stop_name = value.stationName;
                      var destination = value.destinationName;
                      var time = value.timeToStation;
                      time = parseInt(time/60);
                      time < 1 ? time = "due" : time = time+" min";
                      $("#times").append(line+" "+stop_name+" "+destination+" "+time+"<br>")
                  });
                }
            });
        }
    </script>
  </body>
</html>

【问题讨论】:

    标签: html json syntax


    【解决方案1】:

    url中"y"周围的'是非法的,如果你想将y的值连接到url中,你应该使用'+'来连接它

    【讨论】:

    • 我该怎么做?
    • url: 'https://api.tfl.gov.uk/Line/' + y + 'Arrivals?app_id=&amp;app_key=',我想这就是你想要的
    • 一旦我将它放入代码运行但没有输出?还有另一种存储用户输入然后将其放置在该链接中的方法吗?
    • 你能举例说明y是什么吗?好像生成的url不正确,因为一般url没有这个模式,可能你在“Arrivals”之前错过了/,你可以查看api文档看看生成的url是否正确。并且可以通过浏览器的devtools查看请求结果
    • Y 可以是 3 位数字,例如 275、212。是的,它应该在到达之前有一个 /,但它不会继续运行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2014-08-21
    • 2014-11-18
    • 1970-01-01
    • 2014-10-10
    • 2013-06-13
    • 2017-09-28
    相关资源
    最近更新 更多