numberVarible不显示在id的右边:在JavaScript / jQuery代码中

时间:2018-09-11 22:24:58

标签: javascript python jquery

这个问题有两个部分:

A部分:

当我运行下面的代码时,“ numberVariable”在javascript中显示为文本“ numberVariable”,而不是实际值1。如何使它显示为id右侧的1:我必须以某种方式通过它?

此外,alert(numberVariable);当我运行HTML时,会打印1的值。

我对代码有些不了解,因为这是我第一次尝试构建小部件。

当我将id的值“ 1”硬编码到代码中时,此代码有效,但当id为:numberVariable时则无效。

B部分:

然后我如何将numberVariable发送到Python文件中而不影响已经起作用的回调?

"https://example.com/cgi-bin/data.py?callback=?";

感谢您的帮助。

以下是HTML代码:

<script 
src="https://example.com/widget/externalJSfileContainingTheCodeBelow.js" 
async></script><div id="widget" dataVar="1"></div>

这是Javascript / jQuery代码

(function () {
  var jQuery;
  if (window.jQuery === undefined) {
    var script_tag = document.createElement('script');
    script_tag.setAttribute("type", "text/javascript");
    script_tag.setAttribute("src",
      "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");
    if (script_tag.readyState) {
      script_tag.onreadystatechange = function () {
        if (this.readyState == 'complete' || this.readyState == 'loaded') {
          scriptLoadHandler();
        }
      };
    } else {
      script_tag.onload = scriptLoadHandler;
    }
    (document.getElementsByTagName("head")[0] ||
      document.documentElement).appendChild(script_tag);
  } else {
    jQuery = window.jQuery;
    main();
  }

  function scriptLoadHandler() {
    jQuery = window.jQuery.noConflict(true);
    main();
  }

  function main() {
    jQuery(document).ready(function ($) {

      var element = document.getElementById('widget');
      var numberVariable = element.getAttribute('dataVar');
      alert(numberVariable);

      $.ajax({
        type: "GET",
        url: "https://example.com/widget/widget-updater.php",
        data: { id: numberVariable }
      });
      var css_link = $("<link>", {
        rel: "stylesheet",
        type: "text/css",
        href: "https://example.com/widget/widget.css"
      });
      css_link.appendTo('head');
      var jsonp_url = "https://example.com/cgi-bin/data.py?callback=?";
      $.getJSON(jsonp_url, function (data) {
        $('#widget').html(data.html);
      });
    });
  }
})(); 

0 个答案:

没有答案