我正在尝试将 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