如果我尝试使用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);

        }
    });

任何帮助表示赞赏。

===============>>#1 票数:0

请改用jQuery的getScripthttp : getScript

就像是:

    success: function (msg) {

        $.getScript(msg.d);

    }

在WebMethod处,仅返回脚本文件的路径。

===============>>#2 票数:0 已采纳

该错误是由于Jquery库。

如果我尝试使用缩小版本,它将无法正常运行,但可以使用完整版本。 似乎太奇怪了。

===============>>#3 票数:0

您可能需要在执行请求的html页面中指定一个字符集。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  ask by Moons translate from so

未解决问题?本站智能推荐: