Chromeアップデートの前に、私のコードは問題なく動作していました。
サーバーにajax呼び出しを行います。サーバーが呼び出しを受信し、JSONをクライアントに返しますが、答えは常に空です。 Fiddlerを見ると、サーバーから回答が得られます。
私はJQueryを試し、xmlhttp呼び出しも試します。常に同じ結果
新しいCORSポリシールールが適用されましたか?
私のxmlHTTP呼び出しがあります
var xmlhttp = new XMLHttpRequest(); // new HttpRequest instance
var theUrl = "URL";
xmlhttp.open("POST", theUrl);
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xmlhttp.send('{ "args" :{ "Obj":"my obj"}}');
xmlhttp.onreadystatechange = function(state,xhh,aaa){
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
alert(xmlhttp.responseText);
}
}
Ajax呼び出しは似ています
$.ajax({
url: "URL",
data: '{ "args" :{ "Obj":"my obj"}}',
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
async: false,
error: function (xhr, ajaxOptions, thrownError) {
if (that.Fail != null) {
that.Fail();
}
},
success : function(data){
alert(data);
}
})
Chrome 73にアップグレードした後、同じ問題が発生しました。@ wOxxOmのおかげで
これが今までの回避策です。
UPDATE:
この発表によると、これはバグではありません: https://www.chromium.org/Home/chromium-security/extension-content-script-fetches
クロスオリジンフェッチをコンテンツスクリプトではなくバックグラウンドスクリプトに配置する必要があります。