Php 使jquery以json呈现的html格式工作的问题
我运行了FB bigPipe的“剥离”版本,除了jquery之外,它工作得非常完美。当我以json格式解析jquery并附加到div标记时,jquery停止工作 您可以看到我使用的“bigPipe”jquery代码 使其工作的代码非常简单。在PHP中:Php 使jquery以json呈现的html格式工作的问题,php,javascript,jquery,html,json,Php,Javascript,Jquery,Html,Json,我运行了FB bigPipe的“剥离”版本,除了jquery之外,它工作得非常完美。当我以json格式解析jquery并附加到div标记时,jquery停止工作 您可以看到我使用的“bigPipe”jquery代码 使其工作的代码非常简单。在PHP中: $data = array( 'id' => {div tag ID}, 'content' => {html content}, 'title' => {document ti
$data = array(
'id' => {div tag ID},
'content' => {html content},
'title' => {document title},
'css' => {...},
'js' => {...}
);
$output = '<script>Test.render(' . json_encode($data) . ');</script>';
}))
保存
$data=array(
'id'=>“不工作”,
'content'=>{指向您创建的HTML文件的链接和名称!!},
“标题”=>“测试”,
“css'=>”,
'js'=>{指向您创建的js文件的链接和名称!!},
);代码>
问题解决了。这是将js文件插入body元素的方式中的一个错误。在修正代码之后。我解决了,现在一切都很完美 如果有人试图使用此代码,以下是更改:
function _addJsFile(filename) {
var blody = document.getElementsByTagName("body")[0],
script = document.createElement('script'),
done = false;
script.src = filename;
script.type='text/javascript';
script.onload = function() {
if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
done = true;
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
if (blody && script.parentNode) {
blody.removeChild(script);
}
}
};
blody.appendChild(script);
}
jquery?我在JSFIDLE代码中没有看到任何jquery?你是说Javascript吗?你有一些Javascript错误吗?结果如何?你能提供更多的上下文吗?@winner\u joiner我更新了我的问题,提供了一个关于这应该如何工作的教程。试试看,告诉我为什么不工作:)+1用于用额外信息更新问题(甚至是JSFIDLE)和发布自找解决方案。
function _addJsFile(filename) {
var blody = document.getElementsByTagName("body")[0],
script = document.createElement('script'),
done = false;
script.src = filename;
script.type='text/javascript';
script.onload = function() {
if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
done = true;
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
if (blody && script.parentNode) {
blody.removeChild(script);
}
}
};
blody.appendChild(script);
}