Html $.Ajax在windows8 metro应用程序中不起作用
我正在尝试将我现有的html5应用程序迁移到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
问题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:常规javascriptxhr
调用对我来说很有效。事实上,我以前相信我使用.ajax
发送一些简单的GET
或POST
请求,但由于其他原因,我最终使用了xhr
希望这有帮助。你说的“不工作”是什么意思?你不应该在WinJS中使用jQuery AJAX或普通AJAX。IIRC您必须使用一个特殊的xhr对象(这意味着您不需要JSONP,只需要JSON)。这最好在另一个堆栈溢出问题中得到回答: