(XMLHttpRequest cannot load https:// www.cloudflare.com/api_json.html?tkn=&email=&z=&a=rec_load_all&callback=%3F. Origin http:// domainmanager.tech-bytes.org is not allowed by Access-Control-Allow-Origin.)
jQuery 経由で CloudFlare に JSONP リクエストを送信しようとすると、エラー(スタック オーバーフロー リンクの制限により URL に挿入されたスペース) が表示されます。CloudFlare APIは、パラメーターを追加することで JSONP コールバックを要求&callback=mycallback
できると述べています。mycallback を何かに置き換えるべきかどうかわからないので、 ? に置き換えてみました。それは他のリソースが言ったこと、またはコードに他の変更を加える必要がある場合です。
2 に答える
1
この方法でクロスドメインリクエストを試してください。
$.ajax({ url: "yourUrl",
data:{paramName1: JSON.stringify(paramValue1),paramName2: JSON.stringify(paramValue2)},
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function(data) {
alert(data.d);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
于 2013-02-27T07:35:39.650 に答える
0
この目的で CORS を使用できます。
コード例:
jQuery.support.cors = true;
function CrosDom_ajax(url) {
if (window.XDomainRequest
&& $.browser.msie
&& $.browser.version < 10) {
xdr = new XDomainRequest();
if (xdr) {
xdr.onload = function () {
alert(xdr.responseText);
};
xdr.open("get", url);
xdr.send();
}
}
else {
$.ajax({
url: url,
success: function (response) {
},
error: function (data) {
}
});
}
}
また、クロスドメインアクセスを許可するには、サーバー側で次のコードを記述する必要があります
Response.AppendHeader("Access-Control-Allow-Origin", "*");
于 2013-02-28T09:19:20.040 に答える