0

我想知道是否有可能通过ajax post修改外部js文件,例如:

在我的外部 js 文件中,我有一个变量:

var color;

所以我希望我的用户能够通过在输入文本表单中输入 HEX 代码来更改此变量的值。

因此,当键入并按下提交按钮以获取此值并将其发布到外部 js 文件并修改变量时。

我想要这样的东西:

var colorVal = $('input').val();

$.post("external-file-js.js", {color: colorVal}, function(result){});

在外部 js 文件中,例如:

var color = $.get(colorVal); // HERE i dont know how to grab the value

$('body').css('background-color',color);

谢谢 :)

4

2 回答 2

0

我需要了解您打算使用的用例才能提供完整的答案。如果您尝试做的只是更改背景颜色,那么您为什么需要运行 AJAX 帖子呢?为什么不直接改变呢?

在 extenal.js(包含在 html 正文中)中:

function changeColor(color) {
  $('body').css('background-color',color);
}

然后将以下事件绑定到输入:

$('input').change(function () {

// Though you may want to perform validation first.
changeColor($(this).val());

});

唯一的问题是,如果您需要为多个用户长期更改它。然后您需要存储值服务器端(使用帖子和某种类型的 CRUD 系统,在这种情况下,请查看 JSON/JSONP)

于 2015-02-16T19:28:13.683 回答
0

可以办到。您将不得不使用一些后端代码来重写您的 JS 文件。然后,您需要删除任何绑定并使用脚本即时重新加载您的 js 文档。这是一个动态加载 JS 的示例。http://www.philnicholas.com/2009/05/11/reloading-your-javascript-without-reloading-your-page/

我不确定你为什么要这样做。我只想重新编写我的 JS 文件,这样我就可以避免这种混乱。

于 2015-02-16T19:43:20.060 回答