【问题标题】:SyntaxError: missing ; (semicolon) before statement - Razor语法错误:缺少; (分号)语句前 - Razor
【发布时间】:2017-04-10 21:00:45
【问题描述】:

下面的代码块在缺少的; 上触发SyntaxError。这是 Firebug 输出的截图:

<script type="text/javascript">
$(document).ready(function () {
  $("#SelectedMCO").change(function () {

    var scheme = @Request.Url.Scheme.ToString();
    var authority = @Request.Url.Authority.ToString();
    var applicationPath = @Request.ApplicationPath.ToString();

    var url = scheme + "://" + authority + applicationPath +"mytest/" + $("#Selectedoption").val();

    $.getJSON(url, function (data) {
      $("#Selectedsub").empty();
      $.each(data, function(idx, obj) {
        $('#SelectedSub').append('<option value="' + obj.EntityNumber +'">' + obj.Name + '</option>');
      });
    });
  });
});
</script>

【问题讨论】:

  • 你能提供实际的错误信息吗?如果您不知道要查找什么,则 Node.js 错误消息可能会非常神秘。
  • 什么是@Request?
  • @Request 应该是什么意思?这不是 JavaScript;是否涉及其他一些库/框架?
  • @Request 是一个 HttpRequestBase 对象。
  • HttpRequestBase WebPageRenderingBase.Request

标签: javascript jquery razor syntax


【解决方案1】:

您只需将 Razor 变量括在引号中:

  <script type="text/javascript">
     $(document).ready(function () {
        $("#SelectedMCO").change(function () {

            var scheme = '@Request.Url.Scheme.ToString()';
            var authority = '@Request.Url.Authority.ToString()';
            var applicationPath = '@Request.ApplicationPath.ToString()';

            var url = scheme + "://" + authority + applicationPath 
                      +"mytest/" + $("#Selectedoption").val();

            $.getJSON(url, function (data) {
                $("#Selectedsub").empty();
                $.each(data, function(idx, obj) {
                    $('#SelectedSub').append('<option value="' + 
                      obj.EntityNumber +'">' + obj.Name + '</option>');
                });
            });
        });
    });
  </script>

这将确保您的变量将被 JavaScript 解释器解释为字符串。

【讨论】:

  • 成功了 :) 非常感谢 Matt Spinks。我花了几个小时在这上面。非常感谢您为我指明了正确的方向。
猜你喜欢
  • 2013-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多