0

这是一个 mvc 3 razor vb.net 应用程序......我的代码一切都很好,所以我决定向传入 java 的数据添加更多信息,以便屏幕可以提供更多关于它当前的信息进度... getstatus 进来的字符串是一个用“/”分隔的字符串,其中 data.split("/")(0) = 函数中的整数和 data.split("/")(1) =要在 currentEmail div 中显示的字符串...这不起作用,这仅仅是因为我完全是 javascript 的菜鸟,我知道这是可能的..

@Code 
ViewData("Title") = "MassEmailSendingStatus"
TempData.Add("emList", TempData("emailaddresses"))
Dim x As String = Guid.NewGuid().ToString
end Code

<div>
<a href="#" id="startProcess">Start Process</a>
</div>
<br />

<div id="currentEmail">

</div>
<div id="statusBorder">
<div id="statusFill">
</div>
</div>
<script type="text/javascript">
  var uniqueId = '@x';
  var tdata = '@TempData("emailaddresses")';
          $(document).ready(function (event) {
          $('#startProcess').click(function () {
              $.post("MassEmailSendingStatus", { id: uniqueId }, function () {
              $('#statusBorder').show();
              getStatus();
          });
          event.preventDefault;
      });
  });

  function getStatus() {
      var url = 'GetCurrentProgress/' + uniqueId;
      $.get(url, function (data) {
          var str = data;
          var n1 = str.split("/");
          var v1 = integer.parseint(n1[0]);
          var v2 = n1[1];
          if (v1 != "100") {
              $('#status').html(data);
              $('#currentEmail').html(v2);
              $('#statusFill').width(v1);
              window.setTimeout("getStatus()", 100);
          }
          else {
              $('#status').html("Done");
              $('#statusBorder').hide();
              alert("The Long process has finished");
          };
      });
  }

 </script>
4

1 回答 1

0

我自己通过一些浏览器 lvl 调试找到了它。 var v1 = integer.parseint(n1[0]);是错误的,它应该是var v1 = ParseInt(n1[0]);区分大小写的语言 = 不适合像 meh 这样的菜鸟。

 function getStatus() {
  var url = 'GetCurrentProgress/' + uniqueId;
  $.get(url, function (data) {
      var str = data;
      var n1 = str.split("/");
      var v1 = integer.parseint(n1[0]);
      var v2 = n1[1];
      if (v1 != "100") {
          $('#status').html(data);
          $('#currentEmail').html(v2);
          $('#statusFill').width(v1);
          window.setTimeout("getStatus()", 100);
      }
      else {
          $('#status').html("Done");
          $('#statusBorder').hide();
          alert("The Long process has finished");
      };
  });

}

于 2013-02-24T02:17:18.580 回答