这个问题有两个部分:
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);
});
});
}
})();