情况
我有一个使用标签的页面。一些选项卡使用 AJAX 功能来加载它们的内容。但是,我从服务器返回的响应并不严格是要显示的 HTML。
为了实例化选项卡,我使用以下内容,如果可能的话,我希望将处理保留在下面的代码中,因为这只是一个非常大的前端的一部分,它会自动创建一组钩子:
objElement.tabs({
heightStyle : "auto",
show : {
effect : "fade",
duration : 400
},
hide : {
effect : "fade",
duration : 400
},
load: function( event, ui) {
/* ### Processing here ###
* Would like to be able to pass the response to a "postrequestprocedure"
* function
*/
});
}
jQuery 选项卡将数据直接扔到选项卡中。我知道我可以使用 load 事件进行一些后期处理。这是服务器响应的示例,它是一个 JSON 对象,它确实显示如下,带有换行符标签。为了便于阅读,我将它们排除在外。
{
"content" :
"<span><ul><li>list item</li></ul><p>Some example HTML</p></span>",
"script":[
"a.script",
"b.script"
],
"title":
"User Login",
"css": {
"dev.min":"screen"
}
}
问题
ajax 属性仅通过 $tabs({load: function(event,ui)}); 部分公开。界面; 我无法通过这种方式访问相关操作/参数。
当需要收集响应时;如果我使用 html(),它将返回一些 HTML 的结束标记,而不是响应的一部分。准确地说,我已经在我的回复中考虑了 HTML,而这些额外的标签不是:
- 如果我使用 text() 来收集内容,任何打开的 HTML 标记都会被删除
问题
为了将其解析为 JSON 对象,我如何才能获得响应而不会出现“摆弄”。
可能性
Zahid 强调了我可以覆盖关于选项卡的默认 ajax 行为。如果这意味着,我很乐意这样做,我可以自动检测应用这种覆盖的条件
亲切的问候