Jquery Object.assign函数在从$.getScript调用时不起作用,但在粘贴内容时起作用
我试图通过将一些部分作为外部js文件来整理我的js代码,但结果不一 在我的JS脚本中,我有一个var(options),我也尝试在没有var的情况下将其用作全局范围变量Jquery Object.assign函数在从$.getScript调用时不起作用,但在粘贴内容时起作用,jquery,javascript-objects,Jquery,Javascript Objects,我试图通过将一些部分作为外部js文件来整理我的js代码,但结果不一 在我的JS脚本中,我有一个var(options),我也尝试在没有var的情况下将其用作全局范围变量 var options = { onSave: function () { fbEditor.toggle(); formContainer.toggle(); $('form', formContainer).formRender({for
var options = {
onSave: function () {
fbEditor.toggle();
formContainer.toggle();
$('form', formContainer).formRender({formData: fb.formData});
},
dataType: 'json',
disabledAttrs: ["description", "access", "className"],
disableHTMLLabels: true
};
我通过使用
Object.assign(options, {
formData: somestuff;
});
我也有一个非常大的数据,我想包括,我使用另一个JS文件,像这样:
$.getScript("assets/js/pages/createform.js", function () {
makeForms();
});
这是该内容的摘要
function makeForms() {
console.log("Script loaded");
Object.assign(options, {
inputSets: [
{
label: 'Leads',
fields: [
{
"type": "header",
"subtype": "h1",
"label": "Buyer Form"
},
{
"type": "text",
"label": "In what City are you looking to buy your new property?",
"subtype": "text",
"maxlength": "128"
}
]
}
]
});
};
它显示脚本已加载,但无法工作。当我隔离
Object.assign(options, {
inputSets: [
{
...
}
]
});
并将其添加到与getScript位置相同的原始JS中,它将按预期工作
在包含的文件中调用Object.assign时是否不起作用
编辑:
我现在使用一些肮脏的黑客,我只是使用一个PHP包含函数,这对我来说是可行的。但我想知道正确的方法,如果有的话
这不起作用:
...
$.getScript("assets/js/pages/createform.min.js", function () {
});
...
这确实有效:
...
<?php include "assets/js/pages/createform.min.js"; ?>
...
。。。
...
var=options
。。?你的意思是var options={}
?我认为您的问题与范围有关,但如果没有完整的示例,很难说。还要注意,这似乎是实现基本AJAX请求的一种过于复杂的方式。这是一个formbuilder(.online)项目,现在可能更清楚了。