Html $.Ajax在windows8 metro应用程序中不起作用

Html $.Ajax在windows8 metro应用程序中不起作用,html,windows-8,windows-runtime,Html,Windows 8,Windows Runtime,我正在尝试将我现有的html5应用程序迁移到metro应用程序中,并发现两个主要障碍: 由于安全原因,不支持.innerHtml $.Ajax根本不起作用(我使用jsonp从服务器进行数据交换) 问题: 如何绕过.innerHtml的安全问题 要使$.Ajax正常工作,还有什么其他选择 问题2:我遇到了类似的问题,我更改了我的美元。获取: function getJSON(url, data, callback, errorCb) { if (data != null) { var pa

我正在尝试将我现有的html5应用程序迁移到metro应用程序中,并发现两个主要障碍:

  • 由于安全原因,不支持.innerHtml
  • $.Ajax根本不起作用(我使用jsonp从服务器进行数据交换)
  • 问题:

  • 如何绕过.innerHtml的安全问题
  • 要使$.Ajax正常工作,还有什么其他选择

  • 问题2:我遇到了类似的问题,我更改了我的美元。获取:

    function getJSON(url, data, callback, errorCb) {
    if (data != null)
    {
        var params = [];
        for (var key in data) {
            params.push(key + "=" + encodeURI(data[key]));
        }
        url += "?" + params.join("&");
    }
    
    WinJS.xhr({ url: url }).then(
        function (result) {
            if (callback != null)
                callback(result.response, result.status);
        },
        function (result) {
            if (errorCb)
                errorCb(result.status);
        });
    }
    

    Q1:WinRT块在使用
    .innerHtml
    动态内容时引发异常或警告。但它们不会阻止您始终使用
    .innerHTML
    。您是否尝试过以下方法:

    element.querySelector("#myId").innerHTML = "some string" + toStaticHTML(yourHTMLContent);
    
    问题2:常规javascript
    xhr
    调用对我来说很有效。事实上,我以前相信我使用
    .ajax
    发送一些简单的
    GET
    POST
    请求,但由于其他原因,我最终使用了
    xhr


    希望这有帮助。

    你说的“不工作”是什么意思?你不应该在WinJS中使用jQuery AJAX或普通AJAX。IIRC您必须使用一个特殊的xhr对象(这意味着您不需要JSONP,只需要JSON)。这最好在另一个堆栈溢出问题中得到回答: