从 .js 文件加载脚本
Posted
技术标签:
【中文标题】从 .js 文件加载脚本【英文标题】:Loading script from .js file 【发布时间】:2012-12-31 20:25:37 【问题描述】:我正在尝试从 .js 文件加载 .htm 模板。但是 .htm 文件中存在一个脚本,该脚本在加载模板并且一切顺利时触发。
模板的外观如下。 testing.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>http://***.com/questions/6946559/jqgrid-please-help</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" charset="utf-8">
$(document).ready(function ()
$('#example').dataTable(
"bProcessing": true,
"sAjaxSource": '/Home/GetData',
"sScrollY": "400px",
"sScrollX": "200px",
"bPaginate": false
);
);
</script>
</head>
<div id="dynamic">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
<tr>
<th >Date</th>
<th >Name</th>
<th >ProposalID</th>
<th >Time</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</html>
这是加载模板的 .js 文件。
var iTabs = function ()
return
Init: function ()
var placeholder = $("#testtab");
placeholder.setTemplateURL("/Templates/Home/testing.htm");
placeholder.load("/Templates/Home/testing.htm");
();
但是,现在我想在 .js 文件中执行 .htm 脚本,即在加载模板之后。 如果我只运行脚本的一部分,即
$('#example').dataTable(
"bProcessing": true,
"sAjaxSource": '/Home/GetData',
"sScrollY": "400px",
"sScrollX": "200px",
"bPaginate": false
);
在 .js 文件中,它不会工作。是否可以在 .js 文件中运行此脚本?如果有怎么办?
【问题讨论】:
【参考方案1】:尝试使用load
的回调运行该js代码
像这样:
placeholder.load("/Templates/Home/rpt.htm", function()
$('#example').dataTable(
"bProcessing": true,
"sAjaxSource": '/Home/GetData',
"sScrollY": "400px",
"sScrollX": "200px",
"bPaginate": false
);
);
欲了解更多信息,refer to the jQuery load
docs
【讨论】:
它给我带来了错误哎呀!您正在查看的页面不存在。 :( 我们不能像先加载网格然后渲染数据那样单独加载吗? 您正在查看的页面不存在 = 提供的路径错误...尝试使用它,例如Templates/Home/rpt.htm
或 ./Templates/Home/rpt.htm
等
是的,我会检查它,我想知道一件事。这将在加载文档时触发。如果我需要在单击按钮时显示数据怎么办?万一怎么办?以上是关于从 .js 文件加载脚本的主要内容,如果未能解决你的问题,请参考以下文章
MariaDB node.js 脚本在尝试将数据从本地 XML 文件加载到表中时抛出 ER_LOCAL_INFILE_WRONG_FILENAME 错误