json2html - 问题通过 ajax 传递包含函数的 json2html
问题描述
我正在尝试将 XHR 请求的 responseText 分配给一个对象变量,然后我可以通过 json2html 传递该对象变量以创建表单。我遇到的问题是我传递的 json 具有分配给表单上项目的 onclick 事件的函数。这使我无法使用 JSON.parse() 转换 responseText 字符串,因为它在函数调用中出错。我知道如果我能够将它作为对象调用,json 将起作用,但它不会让我创建对象;我知道我可以使用 ready() 函数,但更愿意通过 json2html 调用传递函数。我想这是我忽略的简单事情,但需要一些帮助来弄清楚如何将字符串转换为可用格式。举个例子:
//works fine
var x= {
"<>":"div",
"class":"",
"text":"test",
"onclick": function(
{
console.log("click")
}
};
$('#content').json2html({},x);
//does not work
x=$.ajax({url:u});
x.complete(function(){
//responseText:
{
"<>":"div",
"class":"btn p-3 bg-white test",
"text":"test",
"onclick": function(){console.log("click")}
}
//.responseText
$('#content').json2html({},x["responseText"]);
});
//.does not work
解决方案
首先,您的 responseText 就是那个文本,请确保在将文本发送到 json2html 之前先将文本 jsonParse 转换为 json 对象。
其次,您将无法通过 ajax 传输 onclick 功能,这需要在客户端添加。
推荐阅读
- javascript - 提交按钮增加提交数量
- c++ - 指向类对象的指针向量
- ios - iOS:使用 UIViewControllerTransitioningDelegate 扩展视图时,UILabel 未居中
- java - DateTimeParseException:无法解析文本“2019-06-07 12:18:16”
- c++ - 使用 Qt Creator 调整 .ui 文件如何导致编译期间更改 .h 文件?
- powerbi - 根据过滤器动态排列列
- latex - LaTeX:所有命令的 csvsimple 包错误
- python - 使用 keras 提高我的模型构建的准确性
- python-3.x - 如何添加从数据框中删除的列?
- c# - 为什么这个 Action Method 没有从表单中接收到任何值?