帮助从 json 编码数据附加 html 数据
我无法从 json 字符串获取 html 数据,以便在 jquery post 之后正确附加。
我遇到的问题是斜杠没有从 html 中删除,因此选择列表没有显示,并且 html 输出不正确。 之后解析数据
我尝试在 I以下是我的 json 字符串
{"type":"success","list":"<li id=\"item-1><p>Test<\/p><p><select name=\"steps\">\n<option value=\"3\">Step 1<\/option>\n<option value=\"2\">Step 2<\/option>\n<option value=\"6\">Step 3<\/option>\n<option value=\"5\">Step 5<\/option>\n<\/select><\/p><\/li><li id=\"item-18><p>Testinggg<\/p><\/li>"}
:这是它的创建方式:
jQuery.ajax({
success: function(data) {
if (data)
{
if(data.type =='success') {
jQuery("#item-list").append(data.list);
}
}
},
type: 'POST',
data: {items: JSON.stringify(data)},
dataType: 'json',
url: "/action/create/"
});
在 php 中:
$data = array(
'type' => 'success',
'list' => $list
);
echo json_encode($data);
I am having trouble getting the html data from a json string to append properly after jquery post.
The problem I am having is that the slashes are not being removed from the html so the select list is not displaying and the html is outputting incorrectly. I have tried parsing the data after I
Here is the json string I have:
{"type":"success","list":"<li id=\"item-1><p>Test<\/p><p><select name=\"steps\">\n<option value=\"3\">Step 1<\/option>\n<option value=\"2\">Step 2<\/option>\n<option value=\"6\">Step 3<\/option>\n<option value=\"5\">Step 5<\/option>\n<\/select><\/p><\/li><li id=\"item-18><p>Testinggg<\/p><\/li>"}
And here is how it is created:
jQuery.ajax({
success: function(data) {
if (data)
{
if(data.type =='success') {
jQuery("#item-list").append(data.list);
}
}
},
type: 'POST',
data: {items: JSON.stringify(data)},
dataType: 'json',
url: "/action/create/"
});
and in php:
$data = array(
'type' => 'success',
'list' => $list
);
echo json_encode($data);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有人恐慌,只是语法错误
您在数据中缺少 item-1 和 item-18 之后的结束
\"
。这会导致附加到 DOM 时出现解析错误。它工作正常: http://jsfiddle.net/RMnLGNobody Panic, Just A Syntax Error
You're missing a closing
\"
in your data after item-1 and item-18. This is causing a parse error on appending to the DOM. With those added in it works fine: http://jsfiddle.net/RMnLG