【发布时间】:2023-03-10 20:27:01
【问题描述】:
我正在使用 jquery 对 Web 服务进行 AJAX POST 调用,并返回一个 JSON 对象,这给了我一些我想附加到 div 的 html 代码,它在 firefox 中运行良好,但问题是是不是 safari 不做附加,这里是例子:
$.ajax({
type: "POST",
url: "ConnMgr.asmx/Request",
data: JSON.stringify(objectToSend),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response){
$('#myDiv').empty();
$("#myDiv").append(response.d.htmlSnippet); //this doesn't work on safari but it does on FF
//$("#myDiv").append("<img src=\"image.png"/>")//this works in all browsers
//alert(response.d);//this works in all browsers
}
});
似乎在 safari 中,jquery 不喜欢使用 json 对象作为 append() 的参数的想法 我之前尝试过创建变量的副本,插入延迟,在传递之前将变量转换为字符串,但结果是一样的。
非常感谢
【问题讨论】:
-
是否产生任何错误?
-
也许如果您可以发布“d.htmlSnippet”的示例值,我们可能会在您的 sn-p 中发现一些不工作的东西。如果您的 JSON 响应的此属性确实是格式良好的 HTML 字符串,那么您尝试执行的操作应该没有任何问题......如果您实际上是显式转换为字符串,并且仍然有附加问题它,问题出在字符串本身。祝你好运!
标签: javascript jquery ajax json safari