如果我尝试使用WebMethod返回包含脚本引用的HTML代码,如
<script src="js/components/MyJS.js" id="testScript" type="text/javascript"></script>
使用HTML返回的所有内容都将其绑定到范围。
问题:
此脚本不会在Safari中执行,而是所有其他脚本。
我尝试对整个html进行硬编码,然后执行,但如果我使用AJAX将完整的html作为字符串然后将其绑定到某个html标记,则不会执行。
获取html的代码:
var control = this;
$.ajax({
type: "POST",
url: opts.url,
data: "{control_name : '" + opts.control_name + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error occured textStatus=" + textStatus + " errorThrown=" + errorThrown);
},
success: function (msg) {
control.html(msg.d);
}
});
感谢任何帮助。
答案 0 :(得分:0)
使用jQuery的getScript
代替:http://api.jquery.com/jQuery.getScript/
类似的东西:
success: function (msg) {
$.getScript(msg.d);
}
你在哪里WebMethod只返回脚本文件的路径。
答案 1 :(得分:0)
该错误是因为Jquery库。
如果我尝试使用缩小版本,它不起作用,但完整版本工作。这似乎太奇怪了。
答案 2 :(得分:0)
您可能需要在执行请求的html页面中指定一个字符集。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />