私は地下鉄のアプリに私の既存のHTML5アプリを移行しようとし、2つの主要なハードル探しています:セキュリティ上の理由に
- .innerHtmlがサポートされていないが
- 私はbypa行う方法
- :$アヤックスはちょうど
質問(私は、サーバーからのデータ交換のためにJSONP使用しています)動作しません。 .innerHtmlのセキュリティ問題ですか?
- $ .Ajaxを動作させるには他に何が必要ですか?
私は地下鉄のアプリに私の既存のHTML5アプリを移行しようとし、2つの主要なハードル探しています:セキュリティ上の理由に
質問(私は、サーバーからのデータ交換のためにJSONP使用しています)動作しません。 .innerHtmlのセキュリティ問題ですか?
Q2:私は同様の問題を抱えていた、と私は私の$に.getを変更:
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:あなたは動的なコンテンツのため.innerHtml
を使用する場合WinRTのブロックは、例外または警告をスローします。しかし、彼らは常に.innerHTML
を使用するのをブロックしません。
element.querySelector("#myId").innerHTML = "some string" + toStaticHTML(yourHTMLContent);
Q2:通常のJavaScript私にとってxhr
コール作品を使用すると、以下のようなtoStaticHTML
の方法を試してみました。実際に私は私の前にいくつかの簡単なGET
またはPOST
要求を送信するために.ajax
を使用すると考えられますが、このことができますいくつかの他の理由
ホープxhr
を使用して終了しました。
「動作しない」とはどういう意味ですか? –
WinJSでは、jQuery AJAXまたは通常のAJAXを使用することは想定されていません。 IIRCには特別なxhrオブジェクトがあります。これは代わりに使用する必要があります(つまり、JSONPは必要なくJSONだけです)。 – Andrea
これは別のスタックオーバーフローの質問によく答えられます:http://stackoverflow.com/questions/10859523/using-jquery-with-windows-8-metro-javascript-app-causes-security-error – techsaint