我正在尝试将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发布于 2020-02-20 03:08:51
首先,responseText就是文本,请确保在将文本发送到json2html之前,先将其jsonParse到json对象中。
其次,您将无法通过ajax传输onclick函数,这是需要在客户端添加的功能。
https://stackoverflow.com/questions/59574619
复制相似问题